如何使用jQuery获取<span class =“x”>的所有<li>元素?</span> </li>

时间:2011-05-02 15:00:17

标签: 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>

7 个答案:

答案 0 :(得分:7)

尝试:$('li').has('span.required')

答案 1 :(得分:0)

您可以使用:

var listElements = $('li').has('span.required');

JS Fiddle demo

答案 2 :(得分:0)

你可以试试这个:

var span_required = $('li span.required');
var li_required = [];
$.each(span_required, function(index, item){
      li_required[index] = $(item).parents('li').get(0);
});

小提琴:http://jsfiddle.net/maniator/rX2jA/

答案 3 :(得分:0)

var $required_items = $('li:has(span.required)');

var $required_items = $('li').has('span.required');

后者可能更快:jsperf test

答案 4 :(得分:0)

$('li:has(span.required)')

http://api.jquery.com/has-selector/

答案 5 :(得分:0)

您可以使用filter

$("li").filter(function() {
    return $(this).find("span.required").length > 0
})

has

$("li").has("span.required")

<强> Examples on jsFiddle

答案 6 :(得分:0)

你可以这样使用。

$(document).ready(function (){
   alert( $('span.required').parents("li").length);
})();
相关问题