获取span内的文本值

时间:2011-04-30 21:20:28

标签: javascript jquery jquery-plugins javascript-events javascript-framework

我正在使用JQuery的Flexigrid插件。好的,我有一个带有两个span元素的div,它们将包含flexigrid提供的按钮的文本/显示文本。问题是,除了添加不同的文本外,没有向这些按钮添加ID的机制。

<div class="tdiv2>  
    <div class="fbutton">
        <div>
            <span class="view" style="padding-left: 20px;">Add</span>
        </div>
    </div>
    <div class="fbutton">
        <div>
            <span class="view" style="padding-left: 20px;">Delete</span>
        </div>
    </div>
</div>  

这是按钮的排列方式。所以点击那个按钮,我得到了跨度内的文本,如添加和删除。现在我想在该范围中添加一个类标记,以区分活动按钮和另一个。

所以我提出了这个想法,如果我能得到与返回的文本相匹配的span-text,我可以将该类添加到该范围内。

但是当我做的时候

alert($('.tDiv2 span').html()); 

我只获得第一个跨度而不是第二个跨度的文本。有人可以帮助我获取两个跨度的html,而不仅仅是第一个。

3 个答案:

答案 0 :(得分:3)

试试这个&gt;

$('.tDiv2 span').each(function(index, el) { alert($(el).html()); });

答案 1 :(得分:0)

如果你尝试从中获取html或文本等属性,jQuery会自动选择系列中的第一个元素。尝试获得第二个(或任何数字):

alert($('.tDiv2 span').eq(1).html()); //returns 2nd element's html content

您可以将任何基于0的索引替换为1。

答案 2 :(得分:0)

您需要each

$('.tDiv2 span')each(function(node){ alert(node.html()); });

但是,我想指出这种方法可能会给屏幕阅读器用户带来无障碍问题。如果你因某些原因绝对必须重新发明按钮,那么使用ARIA属性,这样你的盲人访客就有希望让它正常工作。