1

我有以下内容:

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

我需要的是从地址标签中获取文本“家”、“家二”和“家二三”。我忘记了我可以在两者之间添加一个 br 标签。

我需要这样的东西:

var abc = a.html()

但我知道这只会给我一切

4

2 回答 2

3

您可以使用.contents().filter(function() { return this.nodeType == 3; }).first().text()来获取第一个文本节点值。这将丢弃之后的任何文本(如您的br和打开的)。这是一个例子:http: //jsfiddle.net/cHhU5/

于 2012-05-01T09:01:43.273 回答
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);
    });

});​
于 2012-05-01T09:11:15.980 回答