我想从下面的 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
,而不必在每个地方都执行 clone
和 remove
:
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();
});
关于javascript - 使用 jQuery 获取标签内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14094733/