Javascript 使用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”。我怎

从下面的HTML中,我想用jQuery获取
中的文本,但不包括标签中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();
});