简体   繁体   English

使用JQuery在现有文本周围插入锚标记

[英]Inject anchor tag around existing text with JQuery

I have some HTML on a page that reads as follows: 我的页面上有一些HTML,内容如下:

<h3 class="ms-standardheader"><a name="SPBookmark_History"></a>History</h3>

I am running some javascript in the page READY where I am creating a dynamic hyperlink and I would like that to be inserted so that when the page renders the final result is: 我在准备创建动态超链接的页面READY中运行一些javascript,并希望将其插入,以便在页面呈现最终结果时是:

    <h3 class="ms-standardheader"><a name="SPBookmark_History"></a><a href="https://thissite.com/newurl" target="_blank"> History</a></h3>

The class name of the H3 exists on multiple page elements. H3的类名称存在于多个页面元素上。 The Name of the anchor tag, SPBookmark_History, is unique. 定位标记的名称SPBookmark_History是唯一的。

How can I accomplish this using JQuery or straight javascript? 如何使用JQuery或纯JavaScript完成此操作?

Thank you 谢谢

Just follow below code: 只需遵循以下代码:

$(document).ready(function(){
  var link = $('a[name=SPBookmark_History]');
  link.attr('href','https://thissite.com/newurl');
  link.attr('target','_blank');
});

JSFIDDLE SAMPLE JSFIDDLE样本

You can use: 您可以使用:

The code: 编码:

 $('a[name="SPBookmark_History"]').closest('h3.ms-standardheader') .contents(). filter(function (idx, ele) { return ele.nodeType == Node.TEXT_NODE }) .wrap($('<a/>', {href: "https://thissite.com/newurl", target: "_blank"})); console.log('Result is: ' + document.getElementsByClassName('ms-standardheader')[0].outerHTML); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <h3 class="ms-standardheader"><a name="SPBookmark_History"></a>History</h3> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM