Javascript/Jquery 函数根据子元素内容禁用表格行

标签 javascript jquery

我有一个表格,每一行都有一个单元格(例如,第一行:(id: ctl00_MainContent_grdSearch_i0_c5)。我需要检查这个单元格是否有值 1 然后禁用它的行(即 ctl00_MainContent_grdSearch_i0 在上面的例子中)。

(id: ctl00_MainContent_grdSearch_itemsHolder)

row (id: ctl00_MainContent_grdSearch_i0)
row (id: ctl00_MainContent_grdSearch_i1)
row (id: ctl00_MainContent_grdSearch_i2)

最佳答案

您可以使用 :contains() 选择器在一行中完成此操作。此示例假设您按照评论中描述的方式使用 div 元素。

$( "#ctl00_MainContent_grdSearch_itemsHolder > div:contains(1)" )
    .attr( "disabled", "disabled");

如果您的 HTML 更复杂,您可能想要更具体并改用这一行:

$( "#ctl00_MainContent_grdSearch_itemsHolder > div[id^=ctl00_MainContent_grdSearch_i]:contains(1)" )
    .attr( "disabled", "disabled");

第一行在您的 itemsHolder div 下找到值为 1 的任何 div。第二行只查找 idctl00_MainContent_grdSearch_i 开头且值为 1div 元素。

在此演示中,我为禁用的行设置了 background-color: gray;,以便您可以看到它们。

演示: http://jsfiddle.net/ThinkingStiff/MULSv/

HTML:

<div id="ctl00_MainContent_grdSearch_itemsHolder">
    <div id="ctl00_MainContent_grdSearch_i0">
        <div id="ctl00_MainContent_grdSearch_i0_c0" class="item">0</div>
        <div id="ctl00_MainContent_grdSearch_i0_c1" class="item">0</div>
        <div id="ctl00_MainContent_grdSearch_i0_c2" class="item">0</div>
    </div>
    <div id="ctl00_MainContent_grdSearch_i1">
        <div id="ctl00_MainContent_grdSearch_i1_c0" class="item">0</div>
        <div id="ctl00_MainContent_grdSearch_i1_c1" class="item">1</div>
        <div id="ctl00_MainContent_grdSearch_i1_c2" class="item">0</div>
    </div>
    <div id="ctl00_MainContent_grdSearch_i2">
        <div id="ctl00_MainContent_grdSearch_i2_c0" class="item">1</div>
        <div id="ctl00_MainContent_grdSearch_i2_c1" class="item">0</div>
        <div id="ctl00_MainContent_grdSearch_i2_c2" class="item">0</div>
    </div>
    <div id="ctl00_MainContent_grdSearch_i3">
        <div id="ctl00_MainContent_grdSearch_i3_c0" class="item">0</div>
        <div id="ctl00_MainContent_grdSearch_i3_c1" class="item">0</div>
        <div id="ctl00_MainContent_grdSearch_i3_c2" class="item">0</div>
    </div>
</div>

CSS:

.item {
    display: inline-block; 
}

脚本:

$( "#ctl00_MainContent_grdSearch_itemsHolder > div:contains(1)" )
    .attr( "disabled", "disabled").css( "background-color", "gray" );

输出:

enter image description here

关于Javascript/Jquery 函数根据子元素内容禁用表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8564759/

相关文章:

javascript - 无法让 append() 以正确的方式工作

jquery - 使用 jQuery 即时创建 <option>

javascript - jQuery.on 回调参数

javascript - 如何创建一个复制并插入它自己的 div 的函数?

javascript - 将具有类名的特定 td 之后的所有 td 替换为带有输入的新 td

javascript - Cookie 未在 node.js 中设置

javascript - ES6 解构 : How do I create a new object that omits dynamically referenced keys

javascript - 如何在 php 循环中为网格中的每个帖子运行 jquery (wordpress)

javascript - 使用 Mailchimp API 3.0 获取并显示成员(member)状态(或错误)

javascript - 更新模板内的文本