Javascript 使用jQuery获取标签内的文本
从下面的HTML中,我想用jQuery获取Javascript 使用jQuery获取标签内的文本,javascript,jquery,Javascript,Jquery,从下面的HTML中,我想用jQuery获取中的文本,但不包括标签中span中的文本 <label for="name">Name<span class="required">Required</span></label> <input type="text" class="requiredField" name="name" /> 它还接收span.required中的文本(即NameRequired),但我只想获取“Name”。我怎
中的文本,但不包括标签中span中的文本
<label for="name">Name<span class="required">Required</span></label>
<input type="text" class="requiredField" name="name" />
它还接收span.required
中的文本(即NameRequired),但我只想获取“Name”。我怎么能排除这一点?谢谢。这应该可以:
jQuery('.requiredField').each(function() {
labelTextCopy = jQuery(this).prev().clone();
copyChild = labelTextCopy.children();
copyChild.remove();
console.log(labelTextCopy.text());
})
jsiddle:一种有效的方法:创建一个可以反复调用的
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();
});
可能重复的您是否知道只需以长格式编写一次
jQuery
?通过将代码包装在(函数($){…})(jQuery)中
,无论是否使用了noConflict
,都可以使用$
。
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();
});