gpt4 book ai didi

javascript - 对象文字中的 JQuery

转载 作者:行者123 更新时间:2023-12-03 06:28:41 26 4
gpt4 key购买 nike

我在 JS 中有这个代码片段:

var Mylib = Mylib || function(){

var $cart = $('#topbar_cart_value');
var _cartObj = {
total: 0,
items: 0
};
/**
*
* @type String|el
*/
function render() {
//Render the total in cart
var str = "€" + str.replace(".",",");
$cart.html(str); <--
// THIS IS GETTING SELECTED OK!
console.log(document.getElementById('topbar_cart_value'));
// THIS IS GETTING SELECTED OK!
console.log($('#topbar_cart_value'));
// BUT THIS IS GETTING SELECTED WITH LENGHT 0! ....
console.log($cart);
// ...AND THEN...
$cart.html(str); //<--DOES NOT SET THE value
}
return {
init : function() {
cacheDom();
},
getCartObj : getCartObj,
setCartObj : setCartObj,
addToCartObj: addToCartObj,
};
}();
Mylib.init();
/** ..........AFTER MANY BLOCKS OF HTML AND JS ...............**/

$(document).ready(function() { unimanlib.init(
{'cart_sel':'span#topbar_cart_value'
}); });

问题在render函数中解释。最后一条日志的控制台是:

[prevObject: m.fn.init[1], context: document, selector: "#topbar_cart_value"]
context: document
length: 0
prevObject:m.fn.init[1]
selector:"#topbar_cart_value"
__proto__: Object[0]

最佳答案

这段代码

var $cart = $('#topbar_cart_value');
一旦你创建了一个 Mylib 对象,

就会被调用,我认为你是在渲染实际的 html 之前创建它的。

您应该在 $(document).ready 函数中使用 Mylib.init();

关于javascript - 对象文字中的 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38528647/

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