我正在学习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)
但是,这会导致空字符串.经过大量的搜索,我仍然不确定我在这里做错了什么.任何帮助将不胜感激.
谢谢!
$(".myClass").text().split("<br />")[0];
$(".myClass").html().split("<br />")[0];
Run Code Online (Sandbox Code Playgroud)
参考修正评论:@ box9
使用普通的旧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本身也提供了一些很好的功能.
为了获得更多'jQuery-ish':
$("h1.myClass").contents().eq(0).text();
Run Code Online (Sandbox Code Playgroud)