Javascript 使用JQuery问题使整个表行可链接

Javascript 使用JQuery问题使整个表行可链接,javascript,jquery,function,html-table,click,Javascript,Jquery,Function,Html Table,Click,下面是我的大表中2行的HTML标记(由PHP生成,然后应用Datatables) 您认为是什么导致了此问题?请改用此选项,它将附加单击tr上的处理程序,如果单击复选框或其包含的单元格,则忽略此选项。试试这个 $("tr").click(function(){ window.open($(this).attr("url")); }); $("td.item_id").click(function(e){ e.stopPropagation(); }); 您还可以使用event.

下面是我的大表中2行的HTML标记(由PHP生成,然后应用Datatables)


您认为是什么导致了此问题?

请改用此选项,它将附加
单击
tr
上的处理程序,如果单击
复选框或其包含的单元格,则忽略此选项。试试这个

$("tr").click(function(){
    window.open($(this).attr("url"));
});

$("td.item_id").click(function(e){
    e.stopPropagation();
});
您还可以使用
event.target
来检查它是否为
复选框
不要这样做

$("tr").click(function(e){
    if(!$(e.target).is(':checkbox') && !$(e.target).is('.item_id')){
        window.open($(this).attr("url"));
    }
});

相反,使用此选项将附加
单击
tr上的
处理程序,如果单击
复选框或其包含的单元格,则忽略。试试这个

$("tr").click(function(){
    window.open($(this).attr("url"));
});

$("td.item_id").click(function(e){
    e.stopPropagation();
});
您还可以使用
event.target
来检查它是否为
复选框
不要这样做

$("tr").click(function(e){
    if(!$(e.target).is(':checkbox') && !$(e.target).is('.item_id')){
        window.open($(this).attr("url"));
    }
});

我明白这一点:

$("td").not('.item_id').click(function(){
  ...
});
但这首曲子是否可以更新以表现得更好

window.open ($(this).closest("tr").attr("url"));
此外,属性
url
是否验证?您可能希望使用数据属性来获得更可预测的体验。也许这样会更好:

<tr data-url="">
  ...
</tr>

参见此示例:

我理解这篇文章:

$("td").not('.item_id').click(function(){
  ...
});
但这首曲子是否可以更新以表现得更好

window.open ($(this).closest("tr").attr("url"));
此外,属性
url
是否验证?您可能希望使用数据属性来获得更可预测的体验。也许这样会更好:

<tr data-url="">
  ...
</tr>

请参见此示例:

它的工作原理是其他方面出了问题。您是否在
ready
处理程序中包装代码?

它的工作方式是其他错误的。您是否在
ready
handler中包装代码?

是否可以设置jsfiddle.net?是否可以设置jsfiddle.net?是否尝试了这两种方法?
url
属性是否有效标记?您可能会遇到问题,因为jquery最适合有效的HTML。我可以让你访问这个网站,如果你想看看的话。请加入chatroom@shanabus-您可以添加任何属性并使用
attr
方法检索它,即使HTML验证程序没有通过它们。您尝试过这两种方法吗?
url
属性是否有效?您可能会遇到问题,因为jquery最适合有效的HTML。我可以让你访问这个网站,如果你想看看的话。请加入chatroom@shanabus-您可以添加任何属性并使用
attr
方法检索它,即使HTML验证程序没有通过它们。
$(this).parent().data(“url”)谢谢@Richard,更好<代码>$(this.parent().data(“url”)谢谢@Richard,更好!对准备好了。请加入讨论是的。准备好了。请加入讨论