#jquery
#jquery
Вопрос:
Как я могу получить все элементы списка, имеющие <span>
элемент с class="required"
<form id="aform">
<ul>
<li id="name" >
<label class="description" for="name">Name<span class="required">*</span></label>
<div>
<input id="brand_name" name="brand_name" class="text textfield50pc" type="text" maxlength="40" value="<?php echo $brand->name; ?>"/>
</div>
</li>
</ul>
</form>
Ответ №1:
Попробуйте: $('li').has('span.required')
Комментарии:
1. Ах, я знал, что есть что-то подобное. Спасибо 🙂
Ответ №2:
Вы можете попробовать это:
var span_required = $('li span.required');
var li_required = [];
$.each(span_required, function(index, item){
li_required[index] = $(item).parents('li').get(0);
});
Ответ №3:
var $required_items = $('li:has(span.required)');
var $required_items = $('li').has('span.required');
Последний, вероятно, быстрее: тест jsperf.
Ответ №4:
$('li:has(span.required)')
Ответ №5:
Вы можете использовать фильтр
$("li").filter(function() {
return $(this).find("span.required").length > 0
})
Или имеет
$("li").has("span.required")
Ответ №6:
Вы можете использовать этот способ.
$(document).ready(function (){
alert( $('span.required').parents("li").length);
})();
Ответ №7:
Комментарии:
1. Это вводящее в заблуждение имя переменной. (а) Вы не вызываете это
$listElement
для обозначения объекта jQuery [хорошо, личный выбор]; (б) Вы называете это «ListElement», но на самом деле это набор, который может содержать один или более элементов.2. @Tomalak, ну … да, я думаю. Отредактировано, чтобы указать, что их может быть больше одного.