使用带有jQuery或正则表达式的for循环从多个div中的字符串中获取单词
我目前正在使用jQuery动态创建列表。我知道下面的解决方案有点粗糙,所以我想知道是否可以将它放入一个循环中,这样我就可以遍历每个div并创建列表。谢谢你的帮助使用带有jQuery或正则表达式的for循环从多个div中的字符串中获取单词,jquery,regex,for-loop,html-lists,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 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>');
});
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(“
”);
$(“#d1”).html(“
”);
$(“#d2”).html(“
”);
$.each(textArr0,函数(k,v){
$(“#d0 ul”)。追加(“”+”+v+”+” );
});
$.each(textArr1,函数(k,v){
$(“#d1 ul”).append(“”+”+v++“ ”);
});
$.each(textArr2,函数(k,v){
$(“#d2 ul”)。追加(“”+”+v++“ ”);
});
这是你已经拥有的东西的整洁版本
$(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”)。每个(函数(){
var text=$(this.text();
var textArr=text.split(“*”);
$(this.html(“”);
对于(变量i=0;i $(this.find(“ul”).append('- 这是您已经获得的内容的一个整洁版本
$(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”)。每个(函数(){
var text=$(this.text();
var textArr=text.split(“*”);
$(this.html(“”);
对于(变量i=0;i $(this).find(“ul”).append('- )为了便于重用,请尝试将处理逻辑制作成插件:
(function($) {
$.fn.listFromText = function() {
var $source = this;
var text = this.text();
var delimiter = "*";
$source.html("<ul></ul>");
$.each(text.split(delimiter), function (k, v) {
$("ul", $source).append('<li>' + '<a>' + v + '</a>' + '</li>');
});
};
})(jQuery);
$("#d0").listFromText();
$("#d1").listFromText();
$("#d2").listFromText();
(函数($){
$.fn.listFromText=函数(){
var$source=此;
var text=this.text();
var分隔符=“*”;
$source.html(“”);
$.each(text.split(分隔符),函数(k,v){
$(“ul”,$source).append(“- ”+”+v+”+”
);
});
};
})(jQuery);
$(“#d0”).listFromText();
$(“#d1”).listFromText();
$(“#d2”).listFromText();
如果只需要一个页面,这可能会有些过分,但如果要在整个项目中一致使用,这可能会很方便。为了便于重用,请尝试将处理逻辑制作成插件:
(function($) {
$.fn.listFromText = function() {
var $source = this;
var text = this.text();
var delimiter = "*";
$source.html("<ul></ul>");
$.each(text.split(delimiter), function (k, v) {
$("ul", $source).append('<li>' + '<a>' + v + '</a>' + '</li>');
});
};
})(jQuery);
$("#d0").listFromText();
$("#d1").listFromText();
$("#d2").listFromText();
(function($) {
$.fn.textTolist = function() {
var textArr = $(this).text().split('*'),
target = $(this).empty().append('<ul></ul>');
for (var i = 0; i < textArr.length; i++) {
$('ul', target).append('<li><a>' + textArr[i] + '</a></li>');
}
};
})(jQuery);
$('#d0, #d1, #d2').each(function() {
$(this).textTolist();
});
(函数($){
$.fn.listFromText=函数(){
var$source=此;
var text=this.text();
var分隔符=“*”;
$source.html(“”);
$.each(text.split(分隔符),函数(k,v){
$(“ul”,$source).append(“- ”+”+v+”+”
);
});
};
})(jQuery);
$(“#d0”).listFromText();
$(“#d1”).listFromText();
$(“#d2”).listFromText();
如果只需要一个页面,这可能会有些过分,但如果要在整个项目中一致使用,这可能会很方便。(函数($){
(function($) {
$.fn.textTolist = function() {
var textArr = $(this).text().split('*'),
target = $(this).empty().append('<ul></ul>');
for (var i = 0; i < textArr.length; i++) {
$('ul', target).append('<li><a>' + textArr[i] + '</a></li>');
}
};
})(jQuery);
$('#d0, #d1, #d2').each(function() {
$(this).textTolist();
});
$.fn.textTolist=函数(){
var textArr=$(this.text().split('*'),
target=$(this.empty().append('
');
对于(变量i=0;i'+textArr[i]+'
');
}
};
})(jQuery);
$('#d0,#d1,#d2')。每个(函数(){
$(this.textTolist();
});
(函数($){
$.fn.textTolist=函数(){
var textArr=$(this.text().split('*'),
target=$(this.empty().append('
');
对于(变量i=0;i'+textArr[i]+'
');
}
};
})(jQuery);
$('#d0,#d1,#d2')。每个(函数(){
$(this.textTolist();
});
谢谢Archer的反馈!但是它不起作用?我尝试将它填充到循环中,但对我也不起作用…你不需要做任何事情。我将添加文档就绪标记,这样它就完成了,然后复制并粘贴它。我只是添加了一个JSFIDLE演示。唯一的区别是,演示使用的是类,而不是ID。没问题我只是觉得类方法比较早,如果你使用普通的javascript,那么它只是所有页面的一块代码。很高兴提供帮助:)我想和大家分享一下我在Wordpress post字段中使用的这种方法。不用写一个列表,如果你需要动态创建列表,这种方法很有效。我可以使用OneThree-Three感谢Archer的反馈!但是它不起作用?我试着把它塞进循环中,对我也不起作用……你不需要我将添加文档就绪标记,这样它就完成了,然后复制并粘贴它。我刚刚添加了一个JSFIDLE演示。唯一的区别是演示使用一个类,而不是ID。没问题,伙计。我只是觉得类方法比较早,如果你使用通用javascript,那么它只是所有页面的一个代码块。很高兴帮助:)我想和大家分享一下我在Wordpress post字段中使用的这种方法。不用写一个列表,如果你需要动态创建列表,这种方法非常有效。我可以使用一个或两个或四个。是的,我至少有8页使用这种方法。再次感谢你的快速反馈!!+1,真的喜欢这种方法。疯了e一些小的改进,以减少DOM更新的数量并保持可链接性;是的,我至少有8页正在使用这种方法。再次感谢您的快速反馈!!+1,非常喜欢这种方法。做了一些小的改进,以减少DOM更新的数量并保持可链接性;