0

我的字符串是:<div>2</div><div>3</div><div>4</div><div>5</div><div><br></div>

我需要
使用Javascript ie.anything 在数组中获取2、3、4、5<div></div>

最优雅的方法是什么?

4

3 回答 3

1

匹配和之间的任何东西<div></div>

var a, r=[];
while((s=str.indexOf("<div>"))!=-1){
    e=str.indexOf("</div>"); 
    a=str.substring(s+5, e); 
    if(a) r.push(a);
    str=str.substr(e+6);
}

另一种更简单的方法

 var r = str.match(/<div>.*?<\/div>/gi).map(function(i){
     return i.replace(/<div>(.*?)<\/div>/gi, "$1");
 });

如果它只是数字(就像你最初的问题一样)使用这个

var str = "<div>2</div><div>3</div><div>4</div><div>5</div><div><br></div>";
var num = str.match(/\d+/g)
于 2012-12-05T12:06:45.303 回答
0

试试下面的代码

var obj = $("div").map(function(index,value){
return $(this).html();

})    
alert( "hi" +obj[0]);

http://jsfiddle.net/F9MQr/12/

于 2012-12-05T12:12:39.980 回答
0

对于任何可能的价值;

var s = "<div>2</div><div>3</div><div>4</div><div>5</div><div><br></div>";
var a = [];
$.each($(s).filter("div"), function() {
       $(this).text() !== "" && a.push($(this).text());
});
alert(a);
​

(这将忽略空 div 并返回Xfor <div>X<br/></div>

于 2012-12-05T12:16:05.580 回答