切换到for循环

时间:2014-08-14 08:22:41

标签: javascript jquery html css json

我想问一下多次切换到for循环。 例如,当我点击div时,会出现一个切换菜单。

这是我的代码:

 for (var i = 0; i < myObjectString.length; i++) {
var obj = JSON.parse(myObjectString);
document.getElementById("endorsment").innerHTML += "<div id='endor'>\n\
        <div class='endo_"+ obj.Endorsment[i].lang + "' id='endo'>\n\
        <div id='count'>"+ obj.Endorsment[i].ln + "</div>\n\
        <div id='proglang'>"+ obj.Endorsment[i].lang +"</div>\n\
        </div>\n\
        <div class='contenthover_"+ obj.Endorsment[i].lang +"' id='contenthover'>\n\
        <a class='delete'>\n\
        <img src='http://icons.iconarchive.com/icons/icojam/blue-bits/16/symbol-delete-icon.png' />\n\
        </a>\n\
        <span class='devider'>-</span>\n\
        <a class='mybutton'>\n\
        <img src='http://icons.iconarchive.com/icons/custom-icon-design/flatastic-1/16/comment-icon.png' />\n\
        </a>\n\
        <span class='devider'>-</span>\n\
        <a class='mybutton'>\n\
        <img src='http://icons.iconarchive.com/icons/icojam/blue-bits/16/information-icon.png' />\n\
        </a>\n\
      </div>\n\
    </div>";

    $('.endo_'+ obj.Endorsment[i].lang).click(function () {

    //$('#contenthover').toggle();
    alert(obj.Endorsment[i].lang);
});

LINK 任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您不必在for循环中使用您的点击代码。这没有任何意义..它将被插入没有。文档(DOM)中的时间。

  

使用伪查询选择器。这肯定会让你的工作更轻松。

  $("[class*='endo']").click(function () {    
    //do something here.
    $(this).next().toggle();   
});

next()选择器从DOM中选择下一个兄弟。我做了一个包装类来改善你的CSS。看看小提琴,以便更好地理解。

如果删除包装类,则可能会发现显示“contenthover”的问题。

这是更新的小提琴

http://jsfiddle.net/xK0nB1n/2jaLg60o/11/