注意事项一:

Firefox下jQuery选择器之[attribute^=value]使用注意事项

之前写的一个脚本中用到了

var bindAttrs = $("[databind^='attr'", item);
登录后复制

大家都看出存在的问题了吧?

这脚本用了一段时间了,但一直没用Firefox下测试过,

在其它浏览器下都能正常使用!

今天突然有人发现在Firefox下加载的数据不正确,

经过一段时间的调试,最后发现是代码写的有问题,

犯了一个低级的错误,只写了左中括号,忘了写右中括号。

注意事项二:

相关HTML:

<div id="Zy_hotsort_img" class="Zy_hotsort_img">  
<img src="${ctx}/images/resource/jpg02.jpg" databind="attr:{src:=http://{{newCourseware.coverpath}}}" >  
<div class="Zy_newicon">new</div>  
</div>
登录后复制

相关JS代码:

var item = $("#<span style="font-family: Arial, Helvetica, sans-serif;">Zy_hotsort_img</span>
<span style="font-family: Arial, Helvetica, sans-serif;">").html();</span>  
var bindAttrs = $("*[databind^='attr']", item);
登录后复制

问题出现了,这样子是获取不到databind属性为attr开头的img元素的,那应该怎么写呢?

写法一:

var item = $("#Zy_hotsort_img").prop("outerHTML");  
var bindAttrs = $("*[databind^='attr']", item);
登录后复制

写法二:

var item = $("#Zy_hotsort_img").html();  
var bindAttrs = $("*[databind^='attr']", $("<div></div>").append(item));
登录后复制

以上就是JQuery中使用[attribute^=value]选择器有哪些需要注意的的详细内容,更多请关注Work网其它相关文章!

09-16 15:04