Javascript 如何使用jQuery访问隐藏的Dom元素?
我有一个HTML Div(我正在使用Twitter引导来隐藏showJavascript 如何使用jQuery访问隐藏的Dom元素?,javascript,jquery,Javascript,Jquery,我有一个HTML Div(我正在使用Twitter引导来隐藏showdiv2),看起来像这样: HTML: <div id="div1"> <button id="mybtn">Button</button> <div id="div2" class="modal hide fade span12" style="display: none;"> <button id="anotherButton" data-char=""&
div2
),看起来像这样:
HTML:
<div id="div1">
<button id="mybtn">Button</button>
<div id="div2" class="modal hide fade span12" style="display: none;">
<button id="anotherButton" data-char="">AnotherButton</button>
</div>
</div>
看起来
data
方法对处于隐藏状态的元素不起作用。您应该使用attr
方法
这应该行得通
$(function(){
$("#mybtn").click(function(e){
e.preventDefault();
$("#anotherButton").attr("data-char","new value");
});
});
工作样本被隐藏的事实不会改变任何东西。问题可能是js代码在HTML按钮之前。可以将它放在后面,也可以将它放在侦听器中,如
$(document).ready()
,以确保在您尝试访问它时它已被处理。您可以分配它
点击按钮
$(function(){
$('#anotherButton').attr('data-char', "assigned");
alert($('#anotherButton').attr('data-char'));
});
尝试$(按钮:隐藏)
这通常适用于这样的事情
资料来源:http://api.jquery.com/hidden-selector/确保已将代码包装在DOM就绪处理程序中。它是否隐藏并不重要,重要的是它是否在页面上。如果
console.log($('#另一个按钮')
实际上只返回它不在页面上或者选择器中有一个输入错误。让我们来看看更多的代码。如果元素只是不可见,但仍然是DOM的一部分,那么应该可以正常工作。哇,我刚刚去测试了它,它确实返回了未定义的
。现在这很有趣。奇怪的是,如果你直接将“答案”代码复制到文件并刷新页面,它应该可以工作。属性必须是“数据字符”,而不是“字符”。当我使用它时!它的返回值未定义:(e.preventDefault
让我选择你的答案!谢谢
$(function(){
$('#anotherButton').attr('char', "assigned");
alert($('#anotherButton').attr('char'));
});
$(function(){
$('#anotherButton').attr('data-char', "assigned");
alert($('#anotherButton').attr('data-char'));
});