将一些属性添加到<div>元素</div>

时间:2011-10-20 22:45:51

标签: javascript jquery html jquery-data

我想为<div>元素添加一些属性。除.data()外,以下所有内容均有效。我看不出它出现在Firefox / Firebug中。

$('#menu-container')
  .css('background-image','url("'+big_image+'")')
  .addClass('click_2')                          
  .data("new_link", "new_link.html")
  .css('z-index',"99");

我做错了吗?

3 个答案:

答案 0 :(得分:8)

data不仅可以添加任何普通属性,还可以将对象和数据附加到DOM元素。您无法在HTML源代码或Firebug中看到它,但可以使用.data()

查询它

数据本身不存储在元素上。它实际上存储在$ .cache

答案 1 :(得分:1)

.data()正在运行,但它不会显示为元素的属性。

如果您希望看到它正常工作,可以尝试console.log($('#menu-container').data('new-link'));

如果属性符合您的要求,那么您可以执行.attr('new-link','new-link.html')

答案 2 :(得分:1)

使用

$('#menu-container').attr('data-new_link','new_link.html');

它将出现在firebug中,您还可以使用预期的jQuery行为

$('#menu-container').data('new_link');

检索存储的值..


但实际上没有必要这样做。它存储在.data()集合中,无论是否作为DOM元素的属性添加..