javascript - 使用 jQuery 获取标签内的文本

标签 javascript jquery

我想从下面的 HTML 中获取 <label></label> 中的文本使用 jQuery,但排除标签中跨度内的文本。

<label for="name">Name<span class="required">Required</span></label>
<input type="text" class="requiredField" name="name" />

我正在尝试以下操作:

jQuery('.requiredField').each(function() {  
    var labelText = jQuery(this).prev().text();
}

它接收范围内的文本 .required以及(即 NameRequired),但我只想获得“名称”。我怎么能排除呢?谢谢。

最佳答案

一个有效的方法:
创建一个可以一次又一次调用的 fn,而不必在每个地方都执行 cloneremove:

jQuery.fn.onlyText = function() {
    return this
            .clone()
            .children()
            .remove()
            .end()
            .text();
};

// And then your code

jQuery('.requiredField').each(function() {  
    var labelText = jQuery(this).prev().onlyText();
});

http://jsfiddle.net/OMS_/x7xPB/

关于javascript - 使用 jQuery 获取标签内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14094733/

相关文章:

javascript - 如果输入字段在数组中找到一个值,则执行此操作(jQuery/Javascript)

javascript - "lock"wysiHTML5 中的一部分 HTML

javascript - 有条件的 : If all numbers in array are divisors without remainder

jquery - 如何在 Laravel 上实现 Jquery

javascript - 你如何混合使用 jQuery 和 IE CSS 技巧?

Jquery 事件在 ajax/innerHtml 之后不起作用

javascript - 在 Google 表格中使用 MailMerge 的 toLocaleDateString 和 Date.Prototype 问题

javascript - reactjs - 中断 superagent 中的发布请求

javascript - 使用 Javascript 进行 ASP.NET 复选框列表验证

javascript - 在 jQuery .load() 之后激活砌体