首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >包含具有特定html值的子元素的Jquery get元素

包含具有特定html值的子元素的Jquery get元素
EN

Stack Overflow用户
提问于 2012-02-01 19:26:51
回答 5查看 16.2K关注 0票数 13

我想使用Jquery向"li“元素添加一个类,该类包含一个html/val等于零的"span”元素。

例如,如果我的代码看起来像这样:

代码语言:javascript
运行
AI代码解释
复制
<ul>
    <li><span>Item 1</span><span class="num">30</span></li>
    <li><span>Item 2</span><span class="num">0</span></li>
    <li><span>Item 3</span><span class="num">20</span></li>
</ul>

我想将其更改为以下内容:

代码语言:javascript
运行
AI代码解释
复制
<ul>
    <li><span>Item 1</span><span class="num">30</span></li>
    <li class="disabled"><span>Item 2</span><span class="num">0</span></li>
    <li><span>Item 3</span><span class="num">20</span></li>
</ul>

在过去,我使用代码来检查元素属性值,但从未使用它们的html/val来做这样的事情……

代码语言:javascript
运行
AI代码解释
复制
$('li').has('span.num').addClass('disabled');

然而,在这种情况下,这将导致:

代码语言:javascript
运行
AI代码解释
复制
<ul>
    <li class="disabled"><span>Item 1</span><span class="num">30</span></li>
    <li class="disabled"><span>Item 2</span><span class="num">0</span></li>
    <li class="disabled"><span>Item 3</span><span class="num">20</span></li>
</ul>

这显然行不通..。谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-01 19:39:30

这应该可以做你想要的事情。

代码语言:javascript
运行
AI代码解释
复制
$('li').each(function(){
    if( $(this).find('span.num').text() == '0' ) $(this).addClass('disabled')
});

JS Fiddle

我会提出以下建议:

代码语言:javascript
运行
AI代码解释
复制
$('li').has('span.num:contains(0)').addClass('disabled')

但是它不起作用,因为它会检查该值是否存在于html中,而不是进行精确匹配。在本例中,每个span.num元素都有一个0,所以每个li都会得到所选的类。似乎没有一个:equals()对应于:contains()选择器。

票数 19
EN

Stack Overflow用户

发布于 2012-02-01 19:32:14

尝尝这个。

代码语言:javascript
运行
AI代码解释
复制
$('ul span.num').filter(function(){
    return $(this).text() == "0";
}).parent().addClass('disabled');
票数 5
EN

Stack Overflow用户

发布于 2012-02-01 19:29:21

尝试:

代码语言:javascript
运行
AI代码解释
复制
$('li span.num').filter(
    function(i){
        return $(this).text() == '0';
    }).closest('li').addClass('selected');

JS Fiddle demo

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9101928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档