Javascript 如何在jquery中获取表行的div元素的值
我有一个表,我想通过单击它来显示一行的值。 在下面,我想显示1的值Javascript 如何在jquery中获取表行的div元素的值,javascript,jquery,Javascript,Jquery,我有一个表,我想通过单击它来显示一行的值。 在下面,我想显示1的值 <tr class="myTable"> <div class"Row" id= "myRow"> <div id=rowID1 > 1 </div> <div id=rowID2 > 2 </div> <div id=rowID3 > 3 </div> </div> </tr>
<tr class="myTable">
<div class"Row" id= "myRow">
<div id=rowID1 > 1 </div>
<div id=rowID2 > 2 </div>
<div id=rowID3 > 3 </div>
</div>
</tr>
但是我得到了这个错误:uncaughttypeerror:Object没有方法“rowID1”
当我检查console.log(document.getElementsByClassName('myTable')[0].getElementsByClassName('myRow')[0])的结果时,显示:
<div class"Row" id= "myRow">
<div id=rowID1 > 1 </div>
<div id=rowID2 > 2 </div>
<div id=rowID3 > 3 </div>
1.
2.
3.
因此,直到“myRow”为止,它都显示了正确的值,但是如何找到div元素来显示“1”的值呢
console.log($('#rowID1'));
如果您的id
是唯一的
$('tr.myTable #myRow div').on('click',function(){
console.log($(this).text());
});
或
console.log($('tr.myTable #myRow #rowID1'));
更新了完整代码
$('tr.myTable #myRow div').on('click',function(){
console.log($(this).text());
});
使用以下命令:
document.getElementsByClassName('myTable')[0]。getElementsByClassName('myRow')[0]。getElementById(“rowID1”)代码>
您有“getElementsById”,复数形式。ID应该是唯一的,因此,没有获取多个ID的命令。因此,它不返回数组,只返回一个节点本身
因此,我去掉了复数元素
,也去掉了[0]
第次数组调用。我找到了你想要的解决方案
var value = document.getElementById('#rowID1').innerHTML
为什么不干脆$('#rowID1').text()
?但是你的HTML是不正确的,你不能在没有TD的TR中放置div。你在使用jQuery吗?你有无效的HTML语法更正第一个“myRow”是一个id而不是classI不明白。从什么时候开始,getElement…
是从一个元素调用的,每个人都在回复,就好像我们在使用jQuery一样?有人愿意分享为什么这个被否决了吗?不对吗?真正的搜索知识这里=)这是我尝试你的错误:未捕获类型错误:对象#没有方法'getElementById',当我尝试时,我单击的每一行都会得到第一行的值“1”!但我想在单击该行时分别获取每一行的值。当我尝试console.log($('#rowID1')时,您需要对每一行执行此操作。对于我单击的每一行,我将获取值“1”,这是第一行!但我想在单击该行时分别获取每一行的值,并尝试:console.log($('tr.myTable#myRow#rowID1');我得到了一个奇怪的结果:“[prevObject:jQuery.fn.jQuery.init[1],上下文:文档,选择器:“myTable#myRow#rowID1”,jQuery:“2.0.3”,构造函数:函数…”
$('#myRow div').on('click',function(){
var a = $(this).text();
alert(a);
})