我想为<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");
Run Code Online (Sandbox Code Playgroud)
我做错了吗?
我在从JavaScript更新元素时遇到问题.我的项目相当复杂,但这里只是一小部分:
myWebService(/*...*/)
.done(function (result) {
var newRows = $(rows).clone();
$('#drop-placeholder').after(newRows);
$(newRows).data('test', 'ZZZZZZZZZZZZZZZZZZZZZZZ');
}
Run Code Online (Sandbox Code Playgroud)
使用Chrome,我可以看到这些语句执行.但是,newRows在监视窗口中,我可以看到该属性永远不会被添加/更新.而且,确实,在完成调用后,我在页面上看不到指定的属性.
任何人都可以看到我可能会失踪的东西.rows(因此newRows)表示任意数量的表行元素.
我正在寻找使用jQuery MetaData插件.看起来很有趣但......
<li class="someclass {some: 'data'} anotherclass">...</li>
<script>alert($('li.someclass').metadata().some);</script>
Run Code Online (Sandbox Code Playgroud)
这段代码验证了吗?
更新
当然这是一个古老的例子(2010),现在我们使用$ .data()和element.dataset来设置html5/jquery中的数据属性.非常有用.
我有.filter()从返回的数据的问题$.get().
$.get(url, function(data){
$(data).filter('[ref=A]').html() // return undefined
});
Run Code Online (Sandbox Code Playgroud)
HTML
<span ref='B'><span ref='A'>abc</span></span>
Run Code Online (Sandbox Code Playgroud)
如果我做
$(data).filter('[ref=B]').html() // return <span ref='A'>abc</span>
Run Code Online (Sandbox Code Playgroud)
删除后<span ref="B">做
$(data).filter('[ref=A]').html()// return abc
Run Code Online (Sandbox Code Playgroud)
我的问题是我如何获得带标记的HTML abc <span ref="B">?
我是否错误地使用了filter()?请指教.
列表:
<ul class="div_chart1" data-quickcode="mac" data-questionid="1" >
<li>
<img src="inmark/pie_icon.jpg" class="pie_icon" onclick="ok()"/>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
功能:
function ok(){
console.log($(this).parent().parent().data('quickcode'));
console.log($(this).parent().parent().data('questionid'));
}
Run Code Online (Sandbox Code Playgroud)
function ok()返回undefined.这有什么问题?
如何在一个不在DOM中的元素上使用jQuery设置data-attribute?
码:
var panelHeading = $('<div/>', {class:'panel-heading', href:'#'+username+'PanelContent'});
panelHeading.data('toggle', 'collapse').data('target',"#"+username+"PanelContent");
Run Code Online (Sandbox Code Playgroud)
将数据属性附加到文档时,不会显示数据属性.其他属性确实出现.
如果我知道元素上存在某个数据属性并且它是一个对象,那么如何将某些东西存储为该数据对象的新属性?
例如,我有这个div:
<div id="theDiv" data-test1="{string: 'test 1 data'}"></div>
Run Code Online (Sandbox Code Playgroud)
我正在尝试像这样设置数据:
div.data(["test1"]["number"], 1);
Run Code Online (Sandbox Code Playgroud)
但这让我无处可去.而div.data(["test1"]["number"]) = 1;让我在分配错误左手侧.