gpt4 book ai didi

javascript - jQuery $ ("#someId) vs document.getElementById(' someId'), 访问相同的 DOM 元素看到不同的结果

转载 作者:行者123 更新时间:2023-11-30 12:48:09 25 4
gpt4 key购买 nike

我是 javascript 和 jQuery 新手,所以这可能是个愚蠢的问题 -

我正在尝试将行附加到 html 表中,我看到了一些让我感到奇怪的东西:

当我使用 document.getElementById('my_table') 访问我的 html 表时,我得到对象 HTMLTableElement,然后我可以执行 insertRow(-1) 等操作,但是当我通过 jquery 访问同一个 html 表时- $('#my_table') 我得到对象对象,它显然没有我需要的任何方法。是什么赋予了?

谢谢!

代码如下:

<html>
<head>
<title>FOO </title>
<script type="text/javascript" src="js/jquery-2.1.0.js"></script>
<script type="text/javascript">
$(document).ready(function() {
console.log('ready');

var data = [
{ "amount":"medium",
"notes":"chicken teriyaki bento box",
"date_time":"1391029200",
"type":"lunch",
"id":18},

{ "amount":"small",
"notes":"bread, meat balls",
"date_time":"1391645306",
"type":"lunch",
"id":24}
];

data.forEach(function(row) {
for (var key in row) {
$('body').append(row[key] + ' ');
}
$('body').append('<br>');
});

// append to table
(function() {
var my_table_jq = $("#my_table");
$('body').append(Object.prototype.toString.call(my_table_jq));

var my_table_js = document.getElementById('my_table');
$('body').append(Object.prototype.toString.call(my_table_js));

})();


});
</script>
</head>
<body>
<table id="my_table" border="1">
<tr>
<th>Date</th><th>Meal</th><th>Amount</th><th>Notes</th>
</tr>
</table>
</body>
</html>

最佳答案

你通过jQuery得到的对象id selectorjQuery 对象不是 DOM 对象,您必须将它转换为 DOM 对象。您可以使用 indexer 将其转换为 DOM 对象。您还可以使用 jQuery .get( index )获取 DOM 对象。

改变

$('#my_table')

$('#my_table')[0]

$('#my_table').get(0)

Calling jQuery() (or $()) with an id selector as its argument will return a jQuery object containing a collection of either zero or one DOM element, jQuery doc.

关于javascript - jQuery $ ("#someId) vs document.getElementById(' someId'), 访问相同的 DOM 元素看到不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21871236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com