我需要获取p标签的html,但其中有一个br标签。所以它看起来像:
<p>
Some Text
<br>
Some More Text
</p>
我需要分别得到第一部分和第二部分。所以我可以这样做:
$('p').html() //Up To '<'
$('p').html() //After '>'
有可能吗?
答案 0 :(得分:3)
如果你知道总会有一个<br>
标签,那么是的。
否则你可以使用正则表达式。
var foo = $('p').html().split('<br>')[0];
var bar = $('p').html().split('<br>')[1];
答案 1 :(得分:1)
尝试使用.contents()
来检索内部存在的节点,
$('p').contents()[0].nodeValue;
$('p').contents()[2].nodeValue;
node
对象有一个名为nodeValue
的属性,它会为您提供所需的文本。
答案 2 :(得分:1)
我可以建议你两个选择:
首先:使用子串(FIDDLE)
var content = $('p').html();
var firstPart = content.substring(0,content.indexOf("<br>"));
var secondPart = content.substring(content.indexOf("<br>") + 4,content.length);
第二:使用split(FIDDLE)
var content = $('p').html().split("<br>");
var firstPart = content[0];
var secondPart = content[1];
答案 3 :(得分:0)
是的,它可能! 使用拆分功能......
$('p').html().split("<br>")[0];
$('p').html().split("<br>")[1];
答案 4 :(得分:0)
$(document).ready(function(){
var str = $('p').html();
console.log(str.split('<br>'));
});
答案 5 :(得分:0)
您可以使用jQuery拆分方法在<br>
标记处拆分内容。然后抓住一切。
var text = $('p').html();
text.split('<br>')[0];
text.split('<br>')[1];
要获得第二部分,您使用相同的分割方法,但抓住标记后的所有内容。
这是MDN的链接,进一步解释了split()方法。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split