我有一个文件已满,文字格式如下: (忽略它是CSS的事实)我需要在两者之间得到字符串角色和每次,做点什么:
<div id="unused">
|#main|
#header|
.bananas|
#nav|
etc
</div>
我的代码是:
var test_str = $('#unused').text();
var start_pos = test_str.indexOf('|') + 1;
var end_pos = test_str.indexOf('|',start_pos);
var text_to_get = test_str.substring(start_pos,end_pos);
//I want to do something with each string here
这只是第一个字符串。如何在其中添加逻辑以为每个字符串执行某些操作?
答案 0 :(得分:1)
答案 1 :(得分:1)
你可以像
一样分开var my_splitted_var = $('#unused').text().split('|');
答案 2 :(得分:1)
单向;
$.each($("#unused").text().split("|"), function(ix, val) {
val = $.trim(val); //remove \r|\n
if (val !== "")
alert(val);
});
答案 3 :(得分:1)
一种方式:
var test_str = $('#unused').text();
while(!test_str.indexOf('|'))
{
var start_pos = test_str.indexOf('|') + 1;
var end_pos = test_str.indexOf('|',start_pos);
var text_to_get = test_str.substring(start_pos,end_pos);
test_str = test_str.slice(end_pos,test_str.length);
}
答案 4 :(得分:1)
正则表达式-版本:
<强> LIVE DEMO (jsfiddle.net) 强>
var trimmedHtml = $("#unused").html().replace(/\s/g, '');
var result = new Array();
var regExp = /\|(.+?)(?=\|)/g;
var match = regExp.exec(trimmedHtml);
result.push(match[1]);
while (match != null) {
match = regExp.exec(trimmedHtml);
if (match != null) result.push(match[1]);
}
alert(result);
所以你只得到管道之间的元素(|
)。
在我的例子中,我将每个匹配结果推送到一个数组。您现在可以迭代它以获得结果。