如何获取锚标签的文本?

时间:2014-05-15 06:57:40

标签: javascript jquery

我在li中有行li我有锚标记。我想获得该锚标记的值。我收到了id的{​​{1}},但我没有得到锚标记的值。

li
<div class="testcaselist_row">
    <ul>
        <li id="tc_1" class="clickTestCaseRow">
            <a href="#" style="color: #ffffff!important;">aa</a>
            <a class="delete deleteTestCase_h"></a>
        </li>    
    </ul>
</div>

预期的值

4 个答案:

答案 0 :(得分:2)

您需要find()而不是closest()text()而不是val()。你想找到事件来源的元素后代查找将获得后代,而另一方面是最近的祖先。

val()用于textboxcheckbox等输入元素。您需要html或文字作为divspan,{{ 1}}等等。

<强> Live Demo

a

要获取下一个元素,您可以使用eq(index)或next

<强> Live Demo

 alert($(this).find('a').text());

答案 1 :(得分:1)

在您的上下文中 li 元素,您可以编写@Adil建议的代码或使用 e.target 这是元素导致事件触发(在这种情况下是您需要的锚标记)。

所以:http://jsfiddle.net/VwqLQ/

HTML:

<div class="testcaselist_row">
    <ul>
        <li id="tc_1" class="clickTestCaseRow">
            <a href="#">aa</a>
            <a class="delete deleteTestCase_h"></a>
        </li>    
    </ul>
</div>

JS:

$(document).on('click', '.clickTestCaseRow', function (e) {
    var clickId = this.id;
    console.log($(e.target).text());
});

答案 2 :(得分:0)

用于查找 first()标记, text()获取内容

first()首先返回li标签内的标签

请参阅文档http://api.jquery.com/first/

alert($(this).first('a').text());// getting undefine

OR

alert($('.clickTestCaseRow a').first().text());// getting undefine

答案 3 :(得分:-1)

尝试

 alert($(this).find('a').html());

而不是

 alert($(this).closest('a').val());

DEMO