JQuery div 上的 attr() 未返回值
JQuery attr() on div not returning value
我正在使用一个用 Coffeescript 编写的 Backbone 应用程序。我正在尝试访问与 div 列表中每个 div 关联的 cid。每个 div 具有相同的 'contact' class 和 cid 以及关联的整数值。
<div class="contact-list">
<div class="contact" cid="1"></div>
<div class="contact" cid="2"></div>
<div class="contact" cid="3"></div>
<div class="contact" cid="4"></div>
<div class="contact" cid="5"></div>
</div>
我要查找cid为4的元素:
console.log "ALL", $('.contact')
for div in $('.contact')
console.log div
console.log div.attr('cid')
循环似乎在调用 .attr() 时中断。 (当我注释掉该行时,代码打印所有 5 个 div。否则它只打印第一个)这表明我一定是调用了 .attr() 不正确?
当遍历 jQuery 对象时,元素引用将引用 DOM 元素而不是 jQuery 对象,因此您不能直接访问 jQuery 方法在上面
console.log "ALL", $('.contact')
for div in $('.contact')
console.log $(div)
console.log $(div).attr('cid')
使用.each()喜欢
console.log "ALL", $('.contact')
$('.contact').each (i, div) ->
console.log div
console.log $(div).attr('cid')
演示:Fiddle
您需要再次 运行 div through sizzle ,因为 attr 对非 jquery 对象不起作用。 $(div).attr().应该可以。
为什么不用数据...jquery
你可以放值
$div.data("cid", "test" );
你可以读取值
$div.data("cid")
我正在使用一个用 Coffeescript 编写的 Backbone 应用程序。我正在尝试访问与 div 列表中每个 div 关联的 cid。每个 div 具有相同的 'contact' class 和 cid 以及关联的整数值。
<div class="contact-list">
<div class="contact" cid="1"></div>
<div class="contact" cid="2"></div>
<div class="contact" cid="3"></div>
<div class="contact" cid="4"></div>
<div class="contact" cid="5"></div>
</div>
我要查找cid为4的元素:
console.log "ALL", $('.contact')
for div in $('.contact')
console.log div
console.log div.attr('cid')
循环似乎在调用 .attr() 时中断。 (当我注释掉该行时,代码打印所有 5 个 div。否则它只打印第一个)这表明我一定是调用了 .attr() 不正确?
当遍历 jQuery 对象时,元素引用将引用 DOM 元素而不是 jQuery 对象,因此您不能直接访问 jQuery 方法在上面
console.log "ALL", $('.contact')
for div in $('.contact')
console.log $(div)
console.log $(div).attr('cid')
使用.each()喜欢
console.log "ALL", $('.contact')
$('.contact').each (i, div) ->
console.log div
console.log $(div).attr('cid')
演示:Fiddle
您需要再次 运行 div through sizzle ,因为 attr 对非 jquery 对象不起作用。 $(div).attr().应该可以。
为什么不用数据...jquery
你可以放值
$div.data("cid", "test" );
你可以读取值
$div.data("cid")