我想通过id获取元素,而不是给它一些元素。但是,我无法获得它是由jquery制作的元素。
JavaScript:
$(document).ready(function(){
d = $(document.createElement('div'));
d.id = "go";
$(d).addClass('class')
.append("<h2>click button</h2>")
.appendTo($("#aaa"))
console.log("div d.id= "+ d.id);
})
function go() {
var go = $("#go");
console.log("go() go.id= "+ go.id); //undefined
}
我的HTML:
<div id="aaa"></div>
<button onclick="go()">gogogo</button>
如果我使用var d = $("#go");
,我得到了一个未定义的。或
如果我使用null
var d = document.getElementById('go');
如何获取该元素而不是将其"<h2>click button</h2>"
更改为"<h2>button is clicked!!!</h2>"
?
更新1 !!
控制台:
更新2 !!
$(document).ready(function(){
d = $(document.createElement('div'));
d.id = "go";
$(d).addClass('post')
.append("<h2>click button</h2>")
.appendTo($("#aaa"))
console.log(" div d.id= "+ d.id);
$("button").click(function(){
$("div").hide("slow", function(){ // success to hide it
alert("The div is now hidden");
});
});
})
function go() {
var go = $("#go");
console.log("go() go.id= "+ go.attr('id'));
}
答案 0 :(得分:0)
您将d
分配给jQuery对象而不是Div元素,如果要在jquery对象中设置元素的属性,可以使用.attr
d = $(document.createElement('div'));
d.attr('id','go');
或不将其包装在jQuery对象中并将属性设置为正常
d = document.createElement('div');
d.id = 'go';