0

如何获取所有具有称为 css 类的 html 父元素,".example"并且它们的子元素是通过 jQuery在其属性<a></a>中包含字符串值的元素?sample-sectionhref

这是一个例子:

<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>

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

4

5 回答 5

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/

于 2013-04-05T18:36:27.787 回答
0

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

试试这个..

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

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

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

在这里摆弄

于 2013-04-05T18:36:41.463 回答
0

试试这个:

$('li.example > a[href*="sample-section"]').closest('li.example');
于 2013-04-05T18:36:41.877 回答
0

在一行中:

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

jsFiddle 示例

于 2013-04-05T18:40:40.087 回答
0
$('li.example a[href*="another-section"]').each(function() {
  $(this).closest('li');
});
于 2013-04-05T18:40:40.180 回答