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

For any value you could;

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);
​

(This would ignore empty divs & return X for <div>X<br/></div>)

于 2012-12-05T12:16:05.580 に答える