jQuery获得innerhtml的一部分

时间:2015-09-01 13:30:21

标签: javascript jquery innerhtml

我需要获取p标签的html,但其中有一个br标签。所以它看起来像:

<p>
    Some Text
    <br>
    Some More Text
</p>

我需要分别得到第一部分和第二部分。所以我可以这样做:

$('p').html() //Up To '<'
$('p').html() //After '>'

有可能吗?

6 个答案:

答案 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的属性,它会为您提供所需的文本。

DEMO

答案 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