Mat*_*ias 6 javascript css jquery dom datatables
我有一个dataTables <table id="myTable">.我想fnUpdate()和fnDestroy()我的行.每一行都有一个id,例如:<tr id="16">.对于fnUpdate()/ fnDestroy()适当的<tr>,我需要得到该行的索引.为此我尝试使用fnGetPosition(),但我尝试它的方式不是这样做的方式:
$("#myTable").fnGetPosition( $("#16") )
Run Code Online (Sandbox Code Playgroud)
结果是
TypeError:nNode.nodeName未定义[Break On此错误] var sNodeName = nNode.nodeName.toUpperCase();
这是有道理的,因为fnGetPosition()nNode(在我的例子中是HTMLTableRowElement).
如何获取具有的HTMLTableRowElement id="16"?
编辑:我的问题的正确答案是:document.getElementById("16").基于此,我想将我的问题改为:
为什么
$("#myTable").fnGetPosition( document.getElementById("16") )
Run Code Online (Sandbox Code Playgroud)
工作,但是
$("#myTable").fnGetPosition( $("#16") )
Run Code Online (Sandbox Code Playgroud)
失败?
小智 23
对于仍有此问题的人,请尝试以下方法:
$("#myTable").fnGetPosition( $("#16")[0] )
Run Code Online (Sandbox Code Playgroud)
要获得相同的结果,document.getElementById您应该访问jQuery对象中的第一个元素.
Ash*_*yan 12
document.getElementById()返回一个DOM对象,DOM对象上的所有内容都将被固有地访问.
JQuery的$('#...')返回一个围绕单个DOM对象或一组DOM对象(取决于选择器)的包装器,因此它不返回实际的DOM对象.它使得使用DOM对象变得更容易.
您在第二种情况下获得该错误的原因是$(#...)实际上不是DOM对象.
| 归档时间: |
|
| 查看次数: |
25234 次 |
| 最近记录: |