Javascript 获取文本直到第一次<;br/>;

Javascript 获取文本直到第一次<;br/>;,javascript,jquery,Javascript,Jquery,我正在学习jQuery,但这一点让我有些困惑。我有以下HTML: ... <h1 class="myClass">First Part<br />Second Part</h1> ... 我想提取的是“第一部分”位。我想我可以做到这一点: $(data).find("h1.myClass:first-child").text(); 但是,这将导致一个空字符串。在做了大量的搜索之后,我仍然不确定我在这里做错了什么。任何帮助都将不胜感激 谢谢 $(“.myCl

我正在学习jQuery,但这一点让我有些困惑。我有以下HTML:

...
<h1 class="myClass">First Part<br />Second Part</h1>
...
我想提取的是“第一部分”位。我想我可以做到这一点:

$(data).find("h1.myClass:first-child").text();
但是,这将导致一个空字符串。在做了大量的搜索之后,我仍然不确定我在这里做错了什么。任何帮助都将不胜感激

谢谢

$(“.myClass”).text().split(“
”)[0]

编辑:
$(“.myClass”).html().split(“
”)[0];

参考更正注释:@box9

为什么不使用一些regexp来执行此操作

var content = $(data).find("h1.myClass:first-child").html();
var filteredContent = /(.*)<br \/>/.exec(content)[0];
var content=$(data.find(“h1.myClass:first child”).html();
var filteredContent=/(.*)/.exec(content)[0];

仅使用普通的旧JavaScript和DOM,一旦拥有H1 DOM对象,就可以调用
myH1.firstChild
,这将返回文本节点到下一个元素(在该元素上可以调用“data”来获取文本字符串)。例如:

<h1 class="myClass">This is<br/>a test</h1>
//...
var hs = document.getElementsByClassName("myClass");
hs[0].firstChild.data; // => "This is"
不要忘记,jQuery功能强大,通常可以节省大量时间,但DOM本身也提供了一些很好的功能。

“第一部分”不是子元素,因为它不在自己的元素中

您可以通过将
的内容拆分为

来获得第一部分:

var firstPart = $("h1.myClass").html().split('<br />')[0];

alert(firstPart);
var firstPart=$('h1.myClass').html().split('
')[0]; 警报(第一部分);

^这将提醒“第一部分”:)

获取更多的“jQuery-ish”:

$("h1.myClass").contents().eq(0).text();

我认为OP希望它出现在jQuery中:)我认为您希望使用
.html()
。jQuery的
.text()
将删除所有HTML标记。谢谢大家!你的解决方案似乎都有效,我肯定会对每一个都做更多的研究,以更好地理解为什么它们有效而我的无效。
$("h1.myClass").get(0).firstChild.data; // => "This is"
var firstPart = $("h1.myClass").html().split('<br />')[0];

alert(firstPart);
$("h1.myClass").contents().eq(0).text();