我有以下内容:
<a title="Home" href="#">Home<br>test</a>
<a title="Home" href="#">Home two<br>test</a>
<a title="Home" href="#">Home two three<br>test</a>
我需要的是从地址标签获取文本“Home”和“Home two”和“Home two three”。我忘记了我之间可以有一个br标签。
我需要这样的东西:
var abc = a.html()
但我知道这只给了我一切
答案 0 :(得分:3)
您可以使用.contents().filter(function() { return this.nodeType == 3; }).first().text()
获取第一个文本节点值。这将丢弃之后的任何文本(例如您的br
和on)。这是一个例子:http://jsfiddle.net/cHhU5/
答案 1 :(得分:0)
Hiya 简单演示(针对您的具体情况进行了新的更新)http://jsfiddle.net/zrmGm/
http://jsfiddle.net/XswN4/ 和演示,如果你有3个单词,它仍然可以获得2个http://jsfiddle.net/XswN4/1/
根据未提及的内容更新了演示 http://jsfiddle.net/zrmGm/(此示例将在<br>
代码之前为您提供所有内容!
使用match
进一步阅读:http://www.jquery4u.com/syntax/jquery-basic-regex-selector-examples/
<强>码强>
$.fn.ready(function() {
$('a').each(function() {
var str = $(this).html().match(/\w+\s\w+/);
alert(str);
});
});
更新了代码以获取<br>
代码
$.fn.ready(function() {
$('a').each(function() {
var str = $(this).html().split('<br>')[0]
alert(str);
});
});