Javascript 如果文本包含以下内容,请替换链接和文本:

Javascript 如果文本包含以下内容,请替换链接和文本:,javascript,jquery,Javascript,Jquery,我需要更换一些链接,如果它们包含某些文本,每个链接的URL都会在主机站点上的服务器之间更改,因此我只能使用文本进行替换。 在下面的html中,我需要找到包含“名册”和“论坛”的ul#hsubmenuitems,并用2个新链接和URL路径替换它们 <div id="hsubmenu"> <ul id="hsubmenuitems"> <li></li> <li></li>

我需要更换一些链接,如果它们包含某些文本,每个链接的URL都会在主机站点上的服务器之间更改,因此我只能使用文本进行替换。 在下面的html中,我需要找到包含“名册”和“论坛”的ul#hsubmenuitems,并用2个新链接和URL路径替换它们

<div id="hsubmenu">
    <ul id="hsubmenuitems">
        <li></li>
        <li></li>
        <li><a href="#">Scoreboard</a>
        </li>
        <li><a href="#">Rosters</a>
        </li>
        <li><a href="#">Forums</a>
        </li>
    </ul>
</div>

改为:

<div id="hsubmenu">
    <ul id="hsubmenuitems">
        <li></li>
        <li></li>
        <li><a href="#">Scoreboard</a>
        </li>
        <li><a href="NEW URL 1">NEW LINK 1</a>
        </li>
        <li><a href="NEW URL 2">NEW LINK 2</a>
        </li>
    </ul>
</div>

我目前正在使用CSS删除我不想要的链接,然后使用jQuery附加一个新链接,但我知道有一种更有效的方法,我只是不能熟练地使用jQuery来解决这个问题

$("#hsubmenuitems").append('<li><a href="NEW URL 1">NEW LINK 1</a></li>');
$(“#hsubmenuitems”).append(“
  • ”);
    试试这个:

    $(function(){
       $('ul#hsubmenuitems li').each(function(){
           var text = $(this).text();
           if(text.indexOf('Rosters')!=-1)
           {
             $(this).text('NEW LINK 1');
             $(this).attr('href','NEW URL 1');
           }
           else if(text.indexOf('Forums')!=-1)
           {
             $(this).text('NEW LINK 2');
             $(this).attr('href','NEW URL 2');
           }
       });
    });
    

    试试这个:

    $(function(){
       $('ul#hsubmenuitems li').each(function(){
           var text = $(this).text();
           if(text.indexOf('Rosters')!=-1)
           {
             $(this).text('NEW LINK 1');
             $(this).attr('href','NEW URL 1');
           }
           else if(text.indexOf('Forums')!=-1)
           {
             $(this).text('NEW LINK 2');
             $(this).attr('href','NEW URL 2');
           }
       });
    });
    

    使用
    :contain()
    可以执行以下操作:

    $("#hsubmenuitems a:contains('Rosters')").text('new link').attr('href', 'new href');
    $("#hsubmenuitems a:contains('Forum')").text('new link').attr('href', 'new href');
    
    欲知更多信息

    这是一个演示

    记得把代码放在文档中准备好

    要更新目标属性,它与href版本非常相似。以下示例将目标属性设置为
    \u blank

    $("element").attr('target', '_blank');
    
    请参阅以了解更多信息

    你可以把整个东西都锁起来

    $("#hsubmenuitems a:contains('Rosters')").text('new link').attr('href', 'new href').attr('target', '_blank');
    
    “花名册”新链接具有目标,使用
    :contain()
    可以执行以下操作:

    $("#hsubmenuitems a:contains('Rosters')").text('new link').attr('href', 'new href');
    $("#hsubmenuitems a:contains('Forum')").text('new link').attr('href', 'new href');
    
    欲知更多信息

    这是一个演示

    记得把代码放在文档中准备好

    要更新目标属性,它与href版本非常相似。以下示例将目标属性设置为
    \u blank

    $("element").attr('target', '_blank');
    
    请参阅以了解更多信息

    你可以把整个东西都锁起来

    $("#hsubmenuitems a:contains('Rosters')").text('new link').attr('href', 'new href').attr('target', '_blank');
    

    “花名册”新链接的目标是

    ,下面是一个示例,该示例将查找具有指定文本的链接,并将其替换为新文本和href。希望这有助于:


    下面是一个示例,该示例将查找具有指定文本的链接,并将其替换为新文本和href。希望这有助于:

    在jquery中使用替换特定链接

    $('ul#hsubmenuitems li a[href=#]:contains(Rosters)').replaceWith("<a href=NEW URL 1>NEW LINK 1</a>")
    
    $('ul#hsubmenuitems li a[href=#]:contains(Forums)').replaceWith("<a href=NEW URL 2>NEW LINK 2</a>");
    
    $('ul#hsubmenuitems li a[href=#]:包含(名册)')。替换为(“”)
    $('ul#hsubmenuitems li a[href=#]:包含(论坛)')。替换为(“”);
    
    在jquery中使用替换特定链接

    $('ul#hsubmenuitems li a[href=#]:contains(Rosters)').replaceWith("<a href=NEW URL 1>NEW LINK 1</a>")
    
    $('ul#hsubmenuitems li a[href=#]:contains(Forums)').replaceWith("<a href=NEW URL 2>NEW LINK 2</a>");
    
    $('ul#hsubmenuitems li a[href=#]:包含(名册)')。替换为(“”)
    $('ul#hsubmenuitems li a[href=#]:包含(论坛)')。替换为(“”);
    

    您应该能够找到您正在寻找的内容您应该能够找到您正在寻找的内容这很完美,您可以编辑为其中一个链接添加一个目标空白,这样我也可以看到这是如何完成的,谢谢!我假设你想编辑target属性,与编辑href非常相似,我已经更新了我的答案。这很完美,你可以编辑为其中一个链接添加target_空白,这样我也可以看到这是如何完成的,谢谢!我假设您想要编辑目标属性,与编辑href非常相似,我已经更新了我的答案