我是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做到这一点?
由于
答案 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);
}
});
});