jQuery 选择器问题?

标签 jquery

我有 2 张 table 。

 <table border="1" class="a">
            <tr>
                <td>Value 1</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Value 2</td>
                <td></td>
            </tr>
        </table>




        <table border="1"  class="b">
            <tr>
                <td>Value 1</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Value 2</td>
                <td></td>
            </tr>
        </table>

在表 #1 上我写:

  $(".a td:parent").fadeTo(1500, 0.3);

结果是:

enter image description here

注意绿色没有淡出。

但这没有意义。我写了“转到父级 - 即TR并将其全部淡出”

好吧,也许答案是因为它内部没有值,而其他 3 个 td 有。

所以我测试了(在第二表上):

$(".b tr").fadeTo(1500, 0.3);

它确实使所有 TR 褪色(尽管最后一个单元格为空)....

enter image description here

这是怎么回事?

jsbin:http://jsbin.com/ehacen/1/edit

最佳答案

问题出在第一个例子上。根据API(http://api.jquery.com/parent-selector/),:parent选择其中包含内容的内容。所以第一个选择器说“获取所有包含内容的 <td> ”,因此它只选择前三个 <td> 。 s。选择 <td> 的所有父项s,使用这个:

$('.a td').parent()

希望这能为您解决问题!

关于jQuery 选择器问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11921409/

相关文章:

javascript - 重用 jQuery.post()/jQuery.Deferred() 对象

javascript - 关闭部分JS代码

jquery - Bootstrap Dropdown - 显示所选项目最接近的元素不起作用

jquery - 使用 jQuery 选择包含重音符号的选项

javascript - for 循环迭代 array[i] 仅迭代到最后一个索引?

javascript - 使用 jquery 使动画异步/同步的干净方法

javascript - 通过 HTML 文档与 Electron 交互

javascript - JS/JQuery : Redirect on the basis of XML response

jquery - Wordpress 自定义图库可见性隐藏显示空白

javascript - 如何在 jquery 上重用效果实例