如何通过jQuery获取具有某个类的所有父元素及其子元素在其给定属性中具有某个字符串值?

时间:2013-04-05 18:34:28

标签: jquery jquery-selectors

如何获取所有具有名为".example"的css类的html父元素及其子元素<a></a>元素,其sample-section属性中包含字符串值href通过jQuery?

以下是一个例子:

<li class="example">
    <a href="root/sample-section/p01">Page 1</a>
</li>
<li class="example">
    <a href="root/sample-section/p02">Page 2</a>
</li>
<li class="example">
    <a href="root/another-section/p01">Page 1</a>
</li>
<li class="example">
    <a href="root/another-section/p02">Page 2</a>
</li>

我希望能够通过jQuery以上述标准获取此示例中的第一个和第二个<li></li>元素(它们包含字符串'sample-section')并向其添加某些其他类。提前致谢!

5 个答案:

答案 0 :(得分:1)

$('a[href*=sample-section]').parent('.example');

http://jsfiddle.net/mblase75/eG82u/

$('.example').filter(function(){
    return $(this).children('a[href*=sample-section]').length;
});

http://jsfiddle.net/mblase75/kWV86/

- 应该返回相同的结果。

http://api.jquery.com/attribute-contains-selector/

http://api.jquery.com/filter/

答案 1 :(得分:0)

使用^的属性选择器获取以给定文本开头的所有href

试试这个..

 console.log($('a[href^="root/sample-section/"]').parent())

*选择具有指定属性的所有元素,其值包含给定的子字符串。

console.log($('a[href*="sample-section"]').parent())

fiddle here

答案 2 :(得分:0)

试试这个:

$('li.example > a[href*="sample-section"]').closest('li.example');

答案 3 :(得分:0)

在一行中:

$('li.example a[href*="sample-section"]').parent();

<强> jsFiddle example

答案 4 :(得分:0)

$('li.example a[href*="another-section"]').each(function() {
  $(this).closest('li');
});