jQuery获取元素的属性'loop'

时间:2011-10-28 04:01:53

标签: jquery

我尝试使用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/

3 个答案:

答案 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.