元素的-1下标是什么意思?
What does -1 index of an element mean?
我正在尝试调试下面的jquery/js代码。所以我在寻找元素的索引。但是它返回的是-1
在jsFiddle中它工作得很好。但是当迁移到asp.net IDE时,这是给-1
。
标记:
<div class="cart">
<h2>Cart 1</h2>
<p>Books </p>
<table class="cartcontent" data-options="fitColumns:true, singleSelect: true">
<thead>
<tr>
<th data-options="field:'name',width:100">Name</th>
<th data-options="field:'quantity',width:100">Quantity</th>
<th data-options="field:'balance',width:100,align:'right'">Balance</th>
<th data-options="field:'remove',width:100,align:'right'">Remove</th>
</tr>
</thead>
</table>
</div>
jquery/js: function loadData(cartIndex, event) {
alert($('.cart').index());
var $cart = $('.cart:eq(' + cartIndex + ')');
alert($cart.index()); //returns -1
$cart.find('.cartcontent').datagrid('loadData', data[cartIndex]);
}
为什么这里返回-1
索引,这个-1
是什么意思?
-1
表示该对象无法在数组中找到。
$cart.index()
返回-1
,因此$cart
中的内容无法找到。在上面一行中,您将$('.cart:eq(' + cartIndex + ')')
分配给$cart
。因此,选择器.cart:eq(' + cartIndex + ')'
不匹配html中的任何元素。
表示jQuery对象$cart
不包含任何元素
.index ()
如果没有找到元素,.index()将返回-1。
感谢大家帮我想出这么多我想不到的点子。
代码没有像预期的那样工作的一个主要原因是由于jquery/js脚本函数在DOM加载之前被调用。这是@Rory mcrossan最初评论的。我通过搜索找到了这篇文章:在正确的时间运行你的代码。
@AmmarCSE从我最早的帖子实际上问我"所以你的意思是你有一个点击处理程序附加到。cart和内部你想加载表?"
我不知道这在jquery/javascript和整个web的背景下是什么。然而,这帮助我很多理解也许我需要一个eventlistener
,并进一步思考为什么我必须使用一个按钮点击事件和如何pagload/domload不适合这种情况。
@Arun p Johny指出了许多方法来发现元素是否存在,同时运行代码。
我把js代码执行在这里:
</body>
<script>
document.addEventListener("DOMContentLoaded", theDomHasLoaded, false);
alert("haha DOM content is loaded");
function theDomHasLoaded(e) {
addAll(0, e);
}
</script>
<script type="text/javascript" src="cart_Test.js"> </script>
</html>
我来自c#背景,使用相当舒适的VS IDE和强大的调试工具,我意识到调试jQuery, js代码相当乏味。
由于这是一个将迁移框架从js迁移到asp.net的测试,所以我尝试了页面加载、下载事件。然而,在实际实现中,我想在按钮单击事件上加载这些购物车html表。到那时,整个DOM已经加载完毕。我今天在这里学到了很多,谢谢大家。
- @@(“at at”)在ES6 JavaScript中是什么意思
- minimy javascript是什么意思?Backbone.js
- var w = q||问2;这个表达式是什么意思
- 什么'它的意思是当一个变量位于括号外时
- 函数(i,val)在javascript中是什么意思
- 问号在这段代码中是什么意思
- 我不知道此代码中的这些符号是什么意思.十进制到二进制
- 什么意思是“;向原型添加方法”;
- ||{}在javascript中是什么意思
- “转义字符串”在Regex中是什么意思?(Javascript)
- 什么是“;传递给NewPromiseCapability的非构造函数值“;意思是
- 什么是“;(''+元素+'')“;意思是
- 这个代码是什么意思(history.replaceState和history.pushstate)
- $(function () { } in javascript/Jquery 中的意思是什么
- [$rootScope:infdig]或[$rootScope:inprog]在angular中的意思是什么?
- “/*@”的意思是什么
- 人们说“字面意思”是什么意思?在JavaScript
- 这两句话的意思是什么?
- 在javascript SRC属性中定义PHP文件的意思是什么?
- 什么'这行在javascript中的意思是什么