如何在jquery(或javascript)中选择邻居元素
我有如下HTML代码:如何在jquery(或javascript)中选择邻居元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有如下HTML代码: <tr id="15"> <td id="NV">1</td> <td class="hidden-mob"> <a href="page.php"><i id="c-voteup" class="fa fa-caret-up"></i></a> </td> <tr> <tr id="16">
<tr id="15">
<td id="NV">1</td>
<td class="hidden-mob">
<a href="page.php"><i id="c-voteup" class="fa fa-caret-up"></i></a>
</td>
<tr>
<tr id="16">
<td id="NV">1</td>
<td class="hidden-mob">
<a href="page.php"><i id="c-voteup" class="fa fa-caret-up"></i></a>
</td>
<tr>
1.
1.
现在我想增加第一个
的值,我在其中单击它的
(邻居
)
例如:如果我单击
中的
,那么我想增加其
的值,如下所示:2
。可能吗
这是我的尝试:我不能完全实现它,只是我对它的了解很零散
$("i").click(function(e) {} // when click on <i>
var value = $("#NV").text().replace(/[^0-9]/g, ''); // getting current value
value++; // increase its value
$("#NV").html(value); // writing new value
$(“i”)。单击时单击(函数(e){}//
var value=$(“#NV”).text().replace(//[^0-9]/g',);//获取当前值
value++;//增加它的值
$(“#NV”).html(值);//写入新值
只是我的问题是选择,如何选择我在同一个
中单击的$(“#NV”)
$("i").click(function (e) { // when click on <i>
var $nv = $(this).closest('tr').find(".NV");
var value = $nv.text().replace(/[^0-9]/g, ''); // getting current value
value++; // increase its value
$nv.html(value);
});
$(“i”)。单击(函数(e){//
var$nv=$(this.nexist('tr')。find('nv');
var value=$nv.text().replace(//[^0-9]/g',);//获取当前值
value++;//增加它的值
$nv.html(价值);
});
- 请将所有
ID更改为class,因为ID在DOM中应该是唯一的#NV
$("i").click(function (e) { // when click on <i>
var $nv = $(this).closest('tr').find(".NV");
var value = $nv.text().replace(/[^0-9]/g, ''); // getting current value
value++; // increase its value
$nv.html(value);
});
$(“i”)。单击(函数(e){//
var$nv=$(this.nexist('tr')。find('nv');
var value=$nv.text().replace(//[^0-9]/g',);//获取当前值
value++;//增加它的值
$nv.html(价值);
});
- 请将所有
ID更改为class,因为ID在DOM中应该是唯一的#NV
$(this).closest('td').prev()
来定位感兴趣的td
。但是,您不能使用重复的ID
$('a > i').on('click', function(e) {
//prevent default action
e.preventDefault();
//locate the TD with value
var valTD = $(this).closest('td').prev();
//increment it's value
valTD.text( +valTD.text() + 1 );
});
$('a>i')。在('click',函数(e){
//防止默认操作
e、 预防默认值();
//使用值查找TD
var valTD=$(this.nexist('td').prev();
//增加它的价值
valTD.text(+valTD.text()+1);
});
1.
1.
您可以使用$(this).closest('td').prev()
来定位感兴趣的td
。但是,您不能使用重复的ID
$('a > i').on('click', function(e) {
//prevent default action
e.preventDefault();
//locate the TD with value
var valTD = $(this).closest('td').prev();
//increment it's value
valTD.text( +valTD.text() + 1 );
});
$('a>i')。在('click',函数(e){
//防止默认操作
e、 预防默认值();
//使用值查找TD
var valTD=$(this.nexist('td').prev();
//增加它的价值
valTD.text(+valTD.text()+1);
});
1.
1.
.sibling()在jQuery中。@Chrillewoodz谢谢,我读过,我觉得它对我的问题有用。@Chrillewoodz谢谢,我读过,我觉得它对我的问题有用。谢谢,只是jQuery-1.8.2.min.js支持最近('tr')
?是的,它仍然只支持1.8.2。最近的(选择器)[,context])
signature(仅!)从jQuery 1.7开始就被弃用,并在jQuery 1中删除。8@Sajad很高兴它有帮助!谢谢,jquery-1.8.2.min.js只支持closest('tr')
?是的,它仍然只支持1.8.2.closest(选择器[,上下文])
签名(仅限!)从jQuery1.7开始就已弃用,并在jQuery1中删除。8@Sajad很高兴它能帮上忙!你能告诉我为什么要用
作为表的元素吗?我什么时候应该用
?很高兴我能帮上忙;这是我的荣幸……通常最好明确地添加这些标记,而不是依赖浏览器来添加它们。T主要内容放在tbody
中,任何页眉都放在中,而任何页脚都放在tfoot
中。你能告诉我为什么要用
作为表的元素吗?我什么时候应该用
呢?很高兴能帮上忙;这是我的荣幸……通常最好加上这些标签s,而不是依赖浏览器来添加。主要内容放在t正文
中,任何页眉都放在标题
中,而所有页脚都放在t页脚
中。请参阅