你的点击事件是通过选择器直接绑定的吧,像$(".selector").click这样绑的?这种只能绑定到这一句执行时符合选择器的对象。
换成下面这样的绑定方式:
$(document).on("click", ".selector", function() {console.log(this)
})
success: function (t) {$.each(t.data, function (i, data) {
// 遍历 t.data 是数组
$("#text").append( // text 父div 的id 此处注意,在append点击时间不生效的时候 需要(""+i+"")这个形式;
"<div class='textLineImg-bottom'>" +
"<div class='textLeftImgCar' onclick='detail(""+i+"")'>"
+ t.data[i].car_plate_number + "</div></div>")
})
简单来说就是注意转义字符的使用
首先,jquery是 *** 作普通xhtml的,对应svg这种特殊的标签,或者说xml,浏览器如何区分,当然是通过命名空间:namespaceURI,比如普通html的是http://www.w3.org/1999/xhtml,而svg也有自己的命名空间:http://www.w3.org/2000/svg,jquery在 *** 作的时候没有加以区分,因此导致了这样的错误。怎么办,使用setAttributeNS创建svg标签即可。
其次,我们创建大量标签的时候,喜欢innerHTML=template这种方式,svg也可以,应该说大部分浏览器都可以,可是有些浏览器不可以,我们就需要自己提供兼容的innerSVG方法了。
最后,关于上面说的二点,你都可以对比这个例子。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)