动态 dom 节点与 jquery
Dynamic dom nodes with jquery
我正在尝试使用 jquery 动态生成一块 html。我不知道如何在代码中添加嵌套循环以生成我的目标html - 可在下面找到。
<div class="daily-featured__video-social">
<ul class="share-tools__daily-featured share-tools">
<li class="share-tools__item share-tools__item--extended">
<div class="share-tools-extended is-below-middle">
<span class="share-tools__tool share-tools__tool--share">
<span class="share-tools__tool__text">SHARE</span>
<div class="share-tools-extended__caret"></div>
</span>
<ul class="share-tools-extended__list">
<li class="share-tools-extended__list--item share-tools-extended__list--item--facebook">
<span class="share-tools-extended__tool share-tools-extended__tool--facebook">
<span class="share-tools-extended__tool__text">Facebook</span>
</span>
</li>
<li class="share-tools-extended__list--item share-tools-extended__list--item--twitter">
<span class="share-tools-extended__tool share-tools-extended__tool--twitter">
<span class="share-tools-extended__tool__text">Twitter</span>
</span>
</li>
<li class="share-tools-extended__list--item share-tools-extended__list--item--tumblr">
<span class="share-tools-extended__tool share-tools-extended__tool--tumblr">
<span class="share-tools-extended__tool__text">Tumblr</span>
</span>
</li>
<li class="share-tools-extended__list--item share-tools-extended__list--item--pinterest">
<span class="share-tools-extended__tool share-tools-extended__tool--pinterest">
<span class="share-tools-extended__tool__text">Pinterest</span>
</span>
</li>
<li class="share-tools-extended__list--item share-tools-extended__list--item--google-plus">
<span class="share-tools-extended__tool share-tools-extended__tool--google-plus">
<span class="share-tools-extended__tool__text">Google+</span>
</span>
</li>
<li class="share-tools-extended__list--item share-tools-extended__list--item--email">
<span class="share-tools-extended__tool share-tools-extended__tool--email">
<span class="share-tools-extended__tool__text">Email</span>
</span>
</li>
</ul>
</div>
</li>
<li class="share-tools__item share-tools__item--save the-save-button">
<span class="share-tools__tool share-tools__tool--save ">
<span class="share-tools__tool__text">SAVE</span>
</span>
</li>
</ul>
</div>
到目前为止我写的代码:
<div class="daily-featured__video-social">
<ul class="share-tools__daily-featured share-tools">
</ul>
</div>
<script type="text/javascript">
$(document).ready(function() {
var memlist = $(".daily-featured__video-social ul");
var members = {
share: "SHARE",
save: "SAVE"
};
var share_tools = $(".share-tools-extended__list");
var socials = {
facebook: "Facebook",
twitter: "Twitter",
tumblr: "Tumblr",
pinterest: "Pinterest",
'google-plus': "Google+",
email: "Email"
};
$.each(members, function(index, value) {
if (index == "share") {
memlist.append($('<li class="share-tools__item share-tools__item--extended">' +
'<div class="share-tools-extended is-below-middle">' +
'<span class="share-tools__tool share-tools__tool--share">' +
'<span class="share-tools__tool__text">' + value +
'</span>' +
'<div class="share-tools-extended__caret"></div>' +
'</span>' +
'<ul class="share-tools-extended__list">'+
'</ul>' +
'</div>' +
'</li>'));
}
if (index == "save") {
memlist.append($('<li class="share-tools__item share-tools__item--save the-save-button">' +
'<span class="share-tools__tool share-tools__tool--' + index + '">' +
'<span class="share-tools__tool__text">' + value +
'</span>' +
'</span>' +
"</li>"));
}
});
});
</script>
这将生成以下输出:
<div class="daily-featured__video-social">
<ul class="share-tools__daily-featured share-tools">
<li class="share-tools__item share-tools__item--extended">
<div class="share-tools-extended is-below-middle">
<span class="share-tools__tool share-tools__tool--share">
<span class="share-tools__tool__text">SHARE</span>
<div class="share-tools-extended__caret"></div>
</span>
<ul class="share-tools-extended__list"></ul>
</div>
</li>
<li class="share-tools__item share-tools__item--save the-save-button">
<span class="share-tools__tool share-tools__tool--save">
<span class="share-tools__tool__text">SAVE</span>
</span>
</li>
</ul>
</div>
请注意,我需要在<ul class="share-tools-extended__list"></ul>
中使用第二个循环,为此我准备了一个数组,例如:
var socials = {
facebook: "Facebook",
twitter: "Twitter",
tumblr: "Tumblr",
pinterest: "Pinterest",
'google-plus': "Google+",
email: "Email"
};
我不太熟悉javascript和jquery。任何指导都会有所帮助。
您可以使用 jQuery 选择share-tools-extended__list
类并附加到其中。
例如:
if (index == "share") {
memlist.append($('<li class="share-tools__item share-tools__item--extended">' +
'<div class="share-tools-extended is-below-middle">' +
'<span class="share-tools__tool share-tools__tool--share">' +
'<span class="share-tools__tool__text">' + value +
'</span>' +
'<div class="share-tools-extended__caret"></div>' +
'</span>' +
'<ul class="share-tools-extended__list">'+
'</ul>' +
'</div>' +
'</li>'));
var innerList = $('ul.share-tools-extended__list');
$.each(socials, function(index, value) {
// fill in this part with the exact markup you need
innerList.append($('<li>STUFF</li>'));
});
}
相关文章:
- 如何使用jquery获取Json的节点
- 获取不带Jquery的嵌套父HREF节点
- jquery在元素中查找文本节点,并使用标记进行连接和包装
- 使用jQuery+Javascript识别一个空文本节点
- 使用节点js的Bootstrap和Jquery
- jquery重复节点匹配和删除
- 以后添加的节点不会附加到 jQuery UI 函数
- jQuery解包多个递归节点
- 使用 jQuery 将自定义 ID 添加到克隆的 HTML 节点
- 如何返回jQuery对象中的文本节点
- Javascript在没有jQuery的情况下获取X父节点
- 包装和打开jquery后合并文本节点
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- 将jQuery节点转义为文本,以便HTML代码可见
- JQuery 选择父节点并更改其类名
- Jquery onclick事件加载XML的特定节点
- 使用jQuery从强制布局节点中删除所有.fixed类
- JQuery 节点检查是否不为空
- 将父标签名称放在 jQuery 节点中
- 操作jQuery节点的文本值