Jquery tr id选择
jquery有两个问题。请看一下下面的 我们使用下表:Jquery tr id选择,jquery,Jquery,jquery有两个问题。请看一下下面的 我们使用下表: <tr id="row-5"> <td></td> <td><a class="delete" href="#">Delete</a></td> </tr> 所以我们的问题是 如何获得id(5)而不是第5行的正确值 我们应该在jquery代码上使用每个函数吗?如果是,我们怎么做 感谢您的支持。更新: 下面是您的评论: 我询问了每个函数,
<tr id="row-5">
<td></td>
<td><a class="delete" href="#">Delete</a></td>
</tr>
所以我们的问题是
感谢您的支持。更新: 下面是您的评论: 我询问了每个函数,因为我对100行使用jquery sortable和分页,删除按钮对前10行非常有效,但在这之后它将url更改为# 这是因为在加载页面时,您只连接已经存在的行。如果您将代码更改为“使用”或单击“”而不是“
”,则它将与以下内容后添加的新代码一起工作:
$(function() {
// Change is +--- here
// V
$('.delete').live('click', function() {
var id = $(this).closest("tr").attr("id");
id = id.substring(4); // or .split('-')[1] as suggested by other answer
var info = 'id='+id;
$.ajax({
type: "POST",
url: "delete.php",
data: info,
success: function(){
}
});
return false;
});
});
bind
(click
只是bind
的快捷方式)将处理程序连接到已经存在的元素。当您使用分页插件时,其他元素还不存在,因此它们不会连接起来delegate
和live
的工作方式不同:它们利用事件冒泡并将事件挂接到容器元素上(live
使用文档的根,delegate
使用您告诉它使用的任何内容)。有关详细信息,请参见链接的文档。如果可以在容器表中使用根目录下的delegate
,请优先使用live
原始答案:
attr
为您提供了正确的值(“第5行”)。如果只想从中提取“5”,可以使用子字符串
:
id = id.substring(4);
我看不到任何你需要循环的地方
主题外:您也可以通过使用而不是父项
来为浏览器节省一些工作
$(function() {
$('.delete').click(function() {
var id = $(this).closest("tr").attr("id");
var info = 'id='+id;
$.ajax({
type: "POST",
url: "delete.php",
data: info,
success: function(){
}
});
return false;
});
});
更新:
下面是您的评论:
我询问了每个函数,因为我对100行使用jquery sortable和分页,删除按钮对前10行非常有效,但在这之后它将url更改为#
这是因为在加载页面时,您只连接已经存在的行。如果您将代码更改为“使用”或单击“
”而不是“”,则它将与以下内容后添加的新代码一起工作:
$(function() {
// Change is +--- here
// V
$('.delete').live('click', function() {
var id = $(this).closest("tr").attr("id");
id = id.substring(4); // or .split('-')[1] as suggested by other answer
var info = 'id='+id;
$.ajax({
type: "POST",
url: "delete.php",
data: info,
success: function(){
}
});
return false;
});
});
bind
(click
只是bind
的快捷方式)将处理程序连接到已经存在的元素。当您使用分页插件时,其他元素还不存在,因此它们不会连接起来delegate
和live
的工作方式不同:它们利用事件冒泡并将事件挂接到容器元素上(live
使用文档的根,delegate
使用您告诉它使用的任何内容)。有关详细信息,请参见链接的文档。如果可以在容器表中使用根目录下的delegate
,请优先使用live
原始答案:
attr
为您提供了正确的值(“第5行”)。如果只想从中提取“5”,可以使用子字符串
:
id = id.substring(4);
我看不到任何你需要循环的地方
主题外:您也可以通过使用而不是父项
来为浏览器节省一些工作
$(function() {
$('.delete').click(function() {
var id = $(this).closest("tr").attr("id");
var info = 'id='+id;
$.ajax({
type: "POST",
url: "delete.php",
data: info,
success: function(){
}
});
return false;
});
});
1-var id=$(this).tr.attr(“id”).split(“-”[1]代码>
2-无需,因为您选择的行是距离单击的定位点最近的父行。1-var id=$(this.nexist(“tr”).attr(“id”).split(“-”[1]代码>
2-无需,因为您选择的行是距离单击的定位点最近的父行。几乎正确,您必须使用id.substr(3)
因为索引从0开始,子字符串函数在js中称为substr。@ntziolis:JavaScript既有substring
又有substr
(substring
是from/to,substr
是from/length)。在这两种情况下,“from”都从零开始,因此我们希望4
,而不是3
,在这种情况下(因为我们希望从第五个字符开始,而不是第四个字符):@T.J.Crowder thx作为子字符串提示,是的,你是对的,4是正确的索引,伙计,我的计数曾经更好过一次;)@T.J.Crowder感谢您的回答,我询问了每个函数,因为我正在使用jquery sortable和分页功能处理100行,删除按钮在前10行非常有效,但之后它将url更改为#。@seoppc:啊,这是一个完全不同的问题。我会发布更新。编辑:已更新。几乎正确,您必须使用id.substr(3)
因为索引从0开始,子字符串函数在js中称为substr。@ntziolis:JavaScript既有substring
又有substr
(substring
是from/to,substr
是from/length)。在这两种情况下,“from”都从零开始,因此我们希望4
,而不是3
,在这种情况下(因为我们希望从第五个字符开始,而不是第四个字符):@T.J.Crowder thx作为子字符串提示,是的,你是对的,4是正确的索引,伙计,我的计数曾经更好过一次;)@T.J.Crowder感谢您的回答,我询问了每个函数,因为我正在使用jquery sortable和分页功能处理100行,删除按钮在前10行非常有效,但之后它将url更改为#。@seoppc:啊,这是一个完全不同的问题。我会发布更新。编辑:已更新。或仅使用$(this).closest(“tr”).attr(“id”).substr(4)
我喜欢拆分
方法,因为它对前缀更改很有弹性-这不是使用它的致命原因,但这只是我的偏好。谢谢你的回答,我询问了每个函数,因为我对100行使用jquery sortable和分页,而对前10行使用delete按钮效果很好,但在这之后,它会将url更改为#。或者只使用$(this.nexist(“tr”).attr(“id”).substr(4)
我喜欢拆分
方法,因为它对前缀更改很有弹性——这并不是使用它的致命原因,但它是绝对的