我有一个功能
function toggleSelectCancels(e) {
var checkBox = e.target;
var cancelThis = checkBox.checked;
var tableRow = checkBox.parentNode.parentNode;
}
如何获取包含tableRow的jQuery对象
通常我会去$("#" + tableRow.id)
,这里的问题是tableRow的id是这样的"x:1280880471.17:adr:2:key:[95]:tag:"
。它由infragistics控件自动生成。当id是这样时,jQuery似乎不是getElementById
。但是,标准dom document.getElementById("x:1280880471.17:adr:2:key:[95]:tag:")
会返回正确的行元素。
无论如何,有没有办法从dom元素中获取jQuery对象?
谢谢, 〜在圣地亚哥
答案 0 :(得分:15)
答案 1 :(得分:2)
您可以在DOM元素上调用jQuery函数:$(tableRow)
在这种情况下,你也可以使用jQuery的closest
方法:
var tableRowJquery = $(checkBox).closest('tr');
如果您想继续使用您的ID kgiannakakis (下方),请提供关于如何escape characters with special meaning in a jQuery selector的绝佳链接。
答案 2 :(得分:2)
jQuery可以使用DOM元素,尝试使用:
$(tableRow)
或
$(checkBox.parentNode.parentNode)
答案 3 :(得分:2)
你应该能够直接传递元素,如下所示:
$(tableRow)...
我通过创建对div的引用,然后将其直接传递给jQuery来测试它,并为您创建jQuery对象。
答案 4 :(得分:1)
请参阅this了解如何转义ID。
答案 5 :(得分:0)
尝试:
var r = $(document.getElementById("XXXX----ID Of Your Row----XXXX"));
现在,如果 document.getElementById 未返回undefined,则可以将r用作任何常规jquery对象。