jquery - 使用带有 jQ​​uery 或正则表达式的 for 循环从多个 div 中的字符串中获取单词

标签 jquery regex for-loop html-lists

我目前正在使用 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 - 使用带有 jQ​​uery 或正则表达式的 for 循环从多个 div 中的字符串中获取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9082422/

相关文章:

javascript - 如何获取键/值 JavaScript 对象的键

php - 为中文字符创建 URL slugs。使用 PHP

java - for循环只循环1次JAVA?

每个循环的 Java 都被 PMD 标记为 UR 异常

javascript - Greasemonkey 脚本不工作

javascript - 带有下拉菜单的响应式导航栏

正则表达式:在模式中匹配模式 - 我想我需要使用 Positive Lookbehinds?

javascript - 正则表达式用于验证给定字符串中至少 n 个大写字母、小写字母、数字和特殊字符

java - 为什么这段带有两个 for 循环的代码没有 O(N^2) 的大 O 运行时间?

jquery - 动态地将值添加到选择框,附加到正文