首先获取文字<br />

Mic*_*per 4 javascript jquery

我正在学习jQuery,但我对这个有点难过.我有以下HTML:

...
<h1 class="myClass">First Part<br />Second Part</h1>
...
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法将此元素与下载数据隔离

$(data).find("h1.myClass");
Run Code Online (Sandbox Code Playgroud)

我想要提取的是"第一部分"位.我以为我可以这样做:

$(data).find("h1.myClass:first-child").text();
Run Code Online (Sandbox Code Playgroud)

但是,这会导致空字符串.经过大量的搜索,我仍然不确定我在这里做错了什么.任何帮助将不胜感激.

谢谢!

Bab*_*ker 8

$(".myClass").text().split("<br />")[0];

编辑:

$(".myClass").html().split("<br />")[0];
Run Code Online (Sandbox Code Playgroud)

参考修正评论:@ box9


mae*_*ics 5

使用普通的旧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"
Run Code Online (Sandbox Code Playgroud)

或者使用惯用的jQuery:

$("h1.myClass").get(0).firstChild.data; // => "This is"
Run Code Online (Sandbox Code Playgroud)

不要忘记jQuery是强大的,并且通常超级节省时间,但DOM本身也提供了一些很好的功能.


sje*_*397 5

为了获得更多'jQuery-ish':

$("h1.myClass").contents().eq(0).text();
Run Code Online (Sandbox Code Playgroud)