如何通过id获取jquery-made元素

时间:2016-04-14 03:06:34

标签: javascript jquery html

我想通过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 !!

enter image description here

控制台:

enter image description here

更新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')); 
  }

1 个答案:

答案 0 :(得分:0)

您将d分配给jQuery对象而不是Div元素,如果要在jquery对象中设置元素的属性,可以使用.attr

d = $(document.createElement('div'));
d.attr('id','go');

或不将其包装在jQuery对象中并将属性设置为正常

d = document.createElement('div');
d.id = 'go';