#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
на самом деле у меня есть два диапазона с идентификаторами, подобными этому date_eform
и time_eform
.
Теперь я должен получить эти идентификаторы.. и проверьте, начинается ли span
идентификатор с date_
, тогда я должен выполнить некоторую логику. и если span
идентификатор начинается с time_
, то другое действие.
<span id='date_eform'></span><span id='time_eform'></span>
Пожалуйста, помогите мне в этом.
Ответ №1:
вам нужно начинается с селектора
итак
$.each('span[id^="date_"]',function(){
//your code here
});
и
$.each('span[id^="time_"]',function(){
//your code here
});
Комментарии:
1. Лучше всего также предоставить пример кода. Для архивных целей, поэтому ответ можно найти здесь, на SO.
Ответ №2:
Попробуйте это:
$("span[id^='date_']").something...
$("span[id^='time_']").something-else...
Ответ №3:
Это должно сработать:
$("span[id^={word}]")
Где {word} — это слово, с которого вы хотите, чтобы идентификатор элемента начинался.
Поможет следующий пример:http://api.jquery.com/attribute-starts-with-selector
Ответ №4:
это должно сделать это:
$('[id^="date_"]')
Ответ №5:
Синтаксис jQuery для атрибута заканчивается:
$('span[id$="_eform"]')
Синтаксис jQuery для атрибута начинается с:
$('span[id^="_eform"]')
Синтаксис jQuery для атрибута содержит:
$('span[id*="_eform"]')
Насколько я понимаю, вам нужно сделать что-то вроде:
$('span[id$="_eform"]')
Затем с помощью each
метода проверьте, являются ли идентификаторы объектов jQuery date
или time
.
var elements = $('span[id$="_eform"]');
elements.each(function() {
if(this.id.substring(0,5)=='date') {
// handle dates
} else if(this.id.substring(0,5)=='time_') {
// handle times
}
});
Ответ №6:
Вы можете использовать множество способов для достижения этого, большинство из этих вопросов перечислены в других ответах.
Однако, если у вас есть только 2 элемента, почему вы просто не обращаетесь к ним напрямую с помощью идентификатора? Может быть, вы хотите что-то сделать с ними после того, как над ними было выполнено действие? В этом случае все перечисленные здесь методы не могут быть использованы.
Если вы просто хотите связать два селектора, вы можете просто использовать
$('#date_eform, #time_eform')...
То, о чем вы просите, не имеет слишком большого смысла в контексте вашего вопроса. Если вы добавите больше деталей, возможно, найдется лучший способ сделать то, о чем вы просите.
Ответ №7:
Я предлагаю вам использовать id
и class
для этой задачи; это сделало бы ее более понятной. Пример ниже:
HTML:
<span id='date' class='eform'></span>
<span id='time' class='eform'></span>
JavaScript (с использованием jQuery):
$(".eform").each(function() {
switch (this.id) {
case "date":
// do something
break;
case "time":
// do something
break;
default:
// "id" is not a case
}
});
Пример здесь:http://fiddle.jshell.net/9hcfx