我目前正在使用 jQuery 动态创建列表。我知道下面的解决方案有点老套,所以我想知道是否可以将其放在循环中,这样我就可以迭代每个 div 并创建列表。感谢您的帮助!!
var text0 = $('#d0').text();
var textArr0 = text0.split('*');
var text1 = $('#d1').text();
var textArr1 = text1.split('*');
var text2 = $('#d2').text();
var textArr2 = text2.split('*');
$("#d0").html('<ul></ul>');
$("#d1").html('<ul></ul>');
$("#d2").html('<ul></ul>');
$.each(textArr0, function (k, v) {
$("#d0 ul").append('<li>' + '<a>' + v + '</a>' + '</li>');
});
$.each(textArr1, function (k, v) {
$("#d1 ul").append('<li>' + '<a>' + v + '</a>' + '</li>');
});
$.each(textArr2, function (k, v) {
$("#d2 ul").append('<li>' + '<a>' + v + '</a>' + '</li>');
});
最佳答案
这是您已有内容的整理版本...
$(function() {
$("#d0, #d1, #d2").each(function() {
var text = $(this).text();
var textArr = text.split("*");
$(this).html("<ul></ul>");
for(var i = 0; i < textArr.length; i++) {
$(this).find("ul").append('<li><a>' + textArr[i] + '</a></li>');
};
});
});
但是,我建议为元素 d0/d1/d2 等提供一个类,并使用 $(".className")
来标识它们,这样您就可以拥有尽可能多或尽可能少的元素您喜欢而无需更改该代码。
这是一个演示... http://jsfiddle.net/77vM9/
关于jquery - 使用带有 jQuery 或正则表达式的 for 循环从多个 div 中的字符串中获取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9082422/