拆分中的变量不起作用



我想在博客上显示评论员提供的唯一域名。但我受到出现的变量的约束。

在这里,我做了两个这样的变量:

<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>
<div class="container">
    <div class="comment_name">
        <a href="http://tes.wordpress.com">Sofyan</a>
        <div id="nameHost"></div>
    </div>
</div>
<div class="container">
    <div class="comment_name">
        <a href="http://tes.blogspot.com">Selfie</a>
        <div id="nameHost"></div>
    </div>
</div>
<script>
    var nameSite=[
        'wordpress',
        'blogspot'
    ];
    $(".comment_name a").attr('id', function(){
        return $(this).attr('href').split(".")[1];
    });

    for(var vol = 0; vol < nameSite.length; vol = vol+1){
        $("a[id='"+nameSite[vol]+"']").each(function(){
            $(this).closest(".container").find("#nameHost")
                .replaceWith("<div id='nameHost'>Host by: "+nameSite+" ..</div>");
        })
    }
</script>

然而,两者似乎都是如此。我希望这个网站有最好的解决方案。感谢

for(var vol = 0; vol < nameSite.length; vol = vol+1){
    $("a[id='"+nameSite[vol]+"']").each(function(){
        $(this).closest(".container").find("#nameHost")
            .replaceWith("<div id='nameHost'>Host by: "+
                nameSite[vol] // I think this is your problem `vol`
            +" ..</div>");
    })
}

这是您整理并运行的代码

主要变化:

  • 已将id="nameHost"更改为class="nameHost"-因为HTML中的id必须是唯一的
  • 在nameSite循环中,只查找一个id="???"的元素,原因与上面相同

var nameSite=[
        'wordpress',
        'blogspot'
    ];
    $(".comment_name a").attr('id', function(){
        return $(this).attr('href').split(".")[1];
    });
    $.each(nameSite, function(index, value) {
        $('#' + value)
            .closest(".container")
            .find(".nameHost")
            .replaceWith("<div id='nameHost'>Host by: "+value+" ..</div>");
    });
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>
<div class="container">
    <div class="comment_name">
        <a href="http://tes.wordpress.com">Sofyan</a>
        <div class="nameHost"></div>
    </div>
</div>
<div class="container">
    <div class="comment_name">
        <a href="http://tes.blogspot.com">Selfie</a>
        <div class="nameHost"></div>
    </div>
</div>

这两个值都在变量nameSite

.replaceWith("<div id='nameHost'>Host by: " + nameSite + " ..</div>");

所以你必须索引你想要的

.replaceWith("<div id='nameHost'>Host by: " + nameSite[vol] + " ..</div>");

http://codepen.io/activedecay/pen/wMdjeV

最新更新