jQuery text()在传递到另一个元素之前过滤结果

jQuery text()在传递到另一个元素之前过滤结果,jquery,text,filter,Jquery,Text,Filter,以下是我的代码的简化摘录: $('a').on('click', function() { // Get the text from the link var textIwantToUse = $(this).text(); // Set the elements text to that of the link $('elementIwantToPassTheTextTo').text(textIwantToUse); } 我遇到的问题是链接包含一个span

以下是我的代码的简化摘录:

$('a').on('click', function()
{
    // Get the text from the link
    var textIwantToUse = $(this).text();

    // Set the elements text to that of the link
    $('elementIwantToPassTheTextTo').text(textIwantToUse);
}
我遇到的问题是链接包含一个span,其中包含一些我不想要的文本:

<a href="#">I want this text <span>but not this</span></a>

在将span标记中的文本传递给目标元素之前,如何删除该文本


非常感谢。

您可以这样做,只从span中删除内部文本:

$(this).find('spam').html('');
这将删除span元素中的文本,或者您也可以删除整个span元素(如果需要):

$(this).remove('span')
然后做你喜欢的其他事情

var textIwantToUse = $(this).text();
var textIwantToUse = $(this).html();
// or whatever you want to do with it

您可以这样做,只从span中删除内部文本:

$(this).find('spam').html('');
这将删除span元素中的文本,或者您也可以删除整个span元素(如果需要):

$(this).remove('span')
然后做你喜欢的其他事情

var textIwantToUse = $(this).text();
var textIwantToUse = $(this).html();
// or whatever you want to do with it
使用和,然后抓取以下内容的文本:

var txt = $('a').contents().filter(function () {
    return this.nodeType === 3;
}).text();

$('elementIwantToPassTheTextTo').text(txt);
示例:

使用and to,然后抓取以下内容的文本:

var txt = $('a').contents().filter(function () {
    return this.nodeType === 3;
}).text();

$('elementIwantToPassTheTextTo').text(txt);
示例:

尝试:

$('a').on('click', function () {
    var textIwantToUse = $(this).html();
    $('.elementIwantToPassTheTextTo').html(textIwantToUse);
    $('.elementIwantToPassTheTextTo').find("span").remove();
});
试试:

$('a').on('click', function () {
    var textIwantToUse = $(this).html();
    $('.elementIwantToPassTheTextTo').html(textIwantToUse);
    $('.elementIwantToPassTheTextTo').find("span").remove();
});

如果您获得html,使其包含
标记,则可以在上拆分并使用之前的所有内容

var textIwantToUse = $(this).html().split('<span>')[0];
var textIwantToUse=$(this.html().split(“”)[0];

如果您获得html,使其包含
标记,则可以在上拆分并使用之前的所有内容

var textIwantToUse = $(this).html().split('<span>')[0];
var textIwantToUse=$(this.html().split(“”)[0];

通过清除html标记:

var textIwantToUse = $(this).html().replace(/<span>.*<\/span>/ig, '');
var textIwantToUse=$(this.html().replace(/.*/ig');

通过清除html标记:

var textIwantToUse = $(this).html().replace(/<span>.*<\/span>/ig, '');
var textIwantToUse=$(this.html().replace(/.*/ig');