如何使用jquery从字符串中获取子字符串

时间:2014-09-26 09:55:10

标签: javascript jquery

我是JQuery的新手,我正在尝试从主字符串获取子字符串。我知道有可用的功能,但我不知道如何使用它来完成我的任务。

这是我的字符串

//Page 1
<p>
    <l>  30,  St.Bishop Road,  30min </l> 
    <l>  10,  St.Bishop Road,  10min </l>
</p>

//Page 2
<p> 
    <l>  30,  St.Bishop Road,  30min </l> 
    <l>  10,  St.Bishop Road,  10min </l>
</p>

我想将每个<p><p>分隔并存储在数组中,并且每个<p></p>都要以相同的方式将<l></l>存储在数组中。

请记住,这不是html元素。这是我从其他任务获得的字符串。

所以如何使用jquery做到这一点?

由于

3 个答案:

答案 0 :(得分:1)

您可以将任何有效的类HTML字符串转换为jQuery对象,然后您可以将其视为正常:

var $el = $('<p><l>30 St....');
console.log( $el.find('p') );
console.log( $el.find('p').length );
console.log( $el.find('l') );
console.log( $el.find('l').length );

答案 1 :(得分:0)

注意:我在OP编辑之前写了这个,他的标记无效,他说它不是html。

我试图保持这个简单。 您不需要jQuery来执行此操作,只需使用String.split()

  

split()方法通过将字符串分隔为子字符串将String对象拆分为字符串数组。

这可以满足您的需求:

var pieces = str.split('<p>');

请注意,每个部分都会以</p>结尾,请使用String.substr()删除该部分:

var piece = pieces[0].substr(0, pieces[0].length-4));

<l>元素执行相同的操作。

答案 2 :(得分:0)

我希望你能做到这一点

    $(document).ready(function(){
   var c="<p> <l>  30,  St.Bishop Road,  30min <l> <l>  10,  St.Bishop"+ "Road,10min <l>"+
"</p>"+
"<p>"+ 
    "<l>  30,  St.Bishop Road,  30min <l>"+ 
    "<l>  10,  St.Bishop Road,  10min <l></p>";

    var b=c.split("<p>");
    $(b).each(function(data,value){
        if(data==1){

            var c=(value.split("<l>"))[1];
            alert(c);
        }
        if(data==2) {
            var d=(value.split("<l>"))[1];
            alert(d);
        }
    });



});

Demo