首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery找到精确的DOM元素

Jquery找到精确的DOM元素
EN

Stack Overflow用户
提问于 2015-08-18 09:11:54
回答 5查看 199关注 0票数 4

这是我的Html代码,我只想选择选中的下一个元素复选框

代码语言:javascript
复制
<tr class="" role="row">
<td class="e-rowcell e-templatecell" role="gridcell" style="text-align: center;">
    <input type="checkbox" class="XAxisrowCheckbox">
</td>
<td class="e-rowcell e-hide" role="gridcell" style="text-align: left;">0</td>
<td class="e-rowcell" role="gridcell" style="text-align: left;">Location ID</td>
</tr>
<tr class="e-alt_row" role="row" aria-selected="true">
<td class="e-rowcell e-templatecell e-selectionbackground e-active" role="gridcell" style="text-align: center;">
    <input type="checkbox" class="XAxisrowCheckbox">
</td>
<td class="e-rowcell e-hide e-selectionbackground e-active" role="gridcell" style="text-align: left;">1</td>
<td class="e-rowcell e-selectionbackground e-active" role="gridcell" style="text-align: left;">Location Name</td>
</tr>

jQuery码

代码语言:javascript
复制
 $(document).on('click', '.XAxisrowCheckbox', function () {

     $(".XAxisrowCheckbox").parent().next(this).css('background-color','red');

});

但问题是,它正在将背景颜色应用于所有td,而不管所选的是什么。

我得到的是

我期望的是只更改这个被选中的元素。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-08-18 09:14:48

为此最好使用最近的

代码语言:javascript
复制
$(document).on('click', '.XAxisrowCheckbox', function () {
    $(this).closest('td').css('background-color','red');
});

它读起来比parentnext好得多,如果需要的话,您也可以在find语句上链接。例如:

代码语言:javascript
复制
$(this).closest('td').find('a').css('color','red');

这实际上是说“在dom树上工作,直到找到第一个包装单击元素的td,然后再向下走,直到找到所有的a元素”。

编辑:实际代码,为我解决后的工作

代码语言:javascript
复制
$(this).closest('td').next().css('background-color','red');
票数 3
EN

Stack Overflow用户

发布于 2015-08-18 09:14:11

用这个代替

代码语言:javascript
复制
$(document).on('click', '.XAxisrowCheckbox', function () {

     $(this).parent().next().css('background-color','red');

});
票数 3
EN

Stack Overflow用户

发布于 2015-08-18 09:14:36

删除下一个函数中的此参数,并将其放入主选择器中:

代码语言:javascript
复制
$(document).on('click', '.XAxisrowCheckbox', function () {
    $(this).parent().next().css('background-color','red');
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32068182

复制
相关文章

相似问题

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