我尝试使用jquery 1.6.2
获取div元素的属性HTML
<div id="scroller" loop="2"></div>
JS
$('#scroller').attr('loop')
上面的js总是返回undefined。
我尝试将jquery升级到1.6.4,然后相同的js返回单词'loop'。此循环属性是否为保留属性?
我这样做是为了使用库来滚动文本.http://remysharp.com/2008/09/10/the-silky-smooth-marquee/
答案 0 :(得分:3)
jQuery
attr
的实施真正发生了什么。 loop
is a boolean attribute for media (<audio>
and <video>
) elements,因此它的存在表明音频或视频应循环播放。
使用布尔属性时,指定属性名称本身以外的值无效。当jQuery检查布尔属性时,它返回属性本身的名称。在这种情况下,[loop]
的值是其名称:"loop"
。
除非您使用HTML5中指定的[data-]
属性,否则不应向元素添加自定义属性:
<div id="scroller" data-loop="2"></div>
jQuery支持使用[data-]
函数访问这些data
属性:
$('#scroller').data('loop'); //returns "2"
答案 1 :(得分:1)
也许,“loop”是jQuery中的一些预定义值。所以,这是一个jQuery错误。
使用简单的JS:
document.getElementById("scroller").getAttribute("loop")
答案 2 :(得分:0)
似乎这是一个错误。
document.getElementById("scroller").getAttribute("loop")
将返回2.