我一直在尝试附加一个像这样的onClick监听器的HTML:
$("body").append('<i class="exit far fa-times-circle" onClick = "deleteTrackingNumber("xqaK3NOiywXfKd2i3HG6Fm8HyMK2",'+ trackingNumberInstance +')"></i>');
我一直在寻找这个我想要的HTML:
<i class="exit far fa-times-circle" onclick="deleteTrackingNumber(" xqak3noiywxfkd2i3hg6fm8hymk2",1z619a2y9001268020)"></i>
要获取trackingNumberInstance变量,我会在Google Firebase快照实例上找到它:
var trackingNumberInstance = childSnapshot.val().trackingNumber;
附加HTML后,onclick监听器不能像Chrome所说的那样工作:
Uncaught SyntaxError: Unexpected end of input
我希望确保Google Firebase返回正确的值,然后我得到以下内容:
这是一个非常好的阅读价值。
然后我检查了Chrome HTML以查看jquery没有附加正确的值:
这看起来不正确,因为它有随机的“和=符号。
我试过正则表达式,看看是否会用这个表达式摆脱它们:
/[^a-zA-Z0-9 ]/g
虽然这也行不通。
既然你正在使用jQuery,你可以创建这样的元素:
var $i = $("<i>").addClass("exit far fa-times-circle");
$i.click(function (e) {
deleteTrackingNumber("xqaK3NOiywXfKd2i3HG6Fm8HyMK2", trackingNumberInstance);
});
$("body").append($i);
更具可读性,您不必小心使用/掩盖所有这些引号。
你引用了onclick
属性的双引号,但你也在其中使用了双引号。