在jQuery中访问新生成的内容

时间:2016-06-18 21:25:07

标签: javascript jquery ajax dynamic bind

在我发现的所有研究中,他们使用.on()调用偶数与元素绑定,但这不是我需要的。这是一个简短的例子:

<div id="myElement">
    <ul id="myUl">
        <li>content list 1</li>
        <li>content list 2</li>
    </ul>
</div>

在ajax调用之后,我使用:

替换myElement的内容
var div = $("#myElement");
div.replaceWith('<div id="myElement">
    <ul id="myUl">
        <li>new content list 1</li>
        <li>new content list 2</li>
    </ul>
</div>');

现在,如果我想访问无序列表以添加例如类名div.find("ul").addClass("myClass");,则它不起作用。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这对我有用......

  • 添加了#以使用ID
  • 获取元素
  • 在替换
  • 后再次使用该ID
  • 转义了换行符
  • 更改了className

请注意,您必须在Ajax成功完成替换

&#13;
&#13;
var div = $("#myElement");
div.replaceWith('<div id="myElement">\
    <ul id="myUl">\
        <li>new content list 1</li>\
        <li>new content list 2</li>\
    </ul>\
</div>');
$("#myElement").find("ul").addClass("myClass");
console.log($("#myElement").html())
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="myElement">
    <ul id="myUl">
        <li>content list 1</li>
        <li>content list 2</li>
    </ul>
</div>
&#13;
&#13;
&#13;