Jquery对使用replaceWith添加的元素没有影响

时间:2017-01-19 01:27:06

标签: javascript jquery html

我正在使用replaceWith为多个页面添加一个公共导航栏。

在replaceWith()之后,我想将“active”类添加到其中一个li元素中,以使链接看起来是活动的。

代码对运行时没有影响。但是当我在Chrome片段中运行$(“#link1”)。addClass(“active”)后,它会按预期运行。

<body>
<div id='nav-placeholder'></div>

<script>
        $.get("static/html/navbar.html", function(data){
          $("#nav-placeholder").replaceWith(data);
        });
        //There is an <li> element in navbar.html with id="link1"
        $("#link1").addClass("active");
</script>
</body>

2 个答案:

答案 0 :(得分:1)

<div id='nav-placeholder'></div>

<script>
        $.get("static/html/navbar.html", function(data){
          $("#nav-placeholder").replaceWith(data);
          $("#link1").addClass("active");
        });        
</script>

答案 1 :(得分:0)

请尝试chaining the jQuery methods,如下所示:

<body>
<div id='nav-placeholder'></div>

<script>
        $.get("static/html/navbar.html", function(data){
          $("#nav-placeholder").replaceWith(data).find("#link1").addClass("active");
        });
</script>
</body>