我的应用程序从我的网站动态获取HTML代码并将其保存为字符串。
以下是一个例子:
Lorem ipsum <a href="http://www.google.com">Click Here</a>
Lorem ipsum <a href="http://www.google.com">Click Somewhere</a>
Lorem ipsum <a href="http://www.google.com">sdfsdf</a>
Lorem ipsum <a href="http://www.google.com">djmhfhb</a>
Lorem ipsum <a href="http://www.google.com">fgbnfgn</a>
我现在需要的是一个脚本,它接受所有标签并用“LINK”替换他们的innerHTML。结果应该是:
Lorem ipsum <a href="http://www.google.com">LINK</a>
Lorem ipsum <a href="http://www.google.com">LINK</a>
Lorem ipsum <a href="http://www.google.com">LINK</a>
Lorem ipsum <a href="http://www.google.com">LINK</a>
Lorem ipsum <a href="http://www.google.com">LINK</a>
我通常会使用这样的jQuery:
$(a).html = "Link"
但是我不想删除我的应用程序中链接的innerHTML,而是删除包含我网站HTML的String内的链接。
我不使用PHP。我使用任何一种帮助我的JS。 有任何想法吗?非常感谢你的帮助!
答案 0 :(得分:0)
这是你用jQuery做到的:
$('a').text('LINK');
答案 1 :(得分:0)
答案 2 :(得分:0)
在js脚本中尝试此代码 在锚标记上给出id
<a href="www.google.com" id="hello" />Click<a>
并像这样使用
$('#hello').html('LINK');
或
$('a').text('LINK');
答案 3 :(得分:0)
目前还不清楚为什么你不想在你的应用中使用jQuery .html()或.text()而是操纵包含html的字符串呢?
这样做需要某种类型的正则表达式
var pattern = "<a .*?href=['""](.+?)['""].*?>(.+?)</a>";
然后使用string.Replace传入一个RegExp对象
像
这样的东西var regex = new RegExp(pattern);
"yourString".replace(regex , "LINK");
答案 4 :(得分:0)
IF 您将这些标记作为字符串,而不是DOM片段,您可以尝试这样做:
var str="HTML markup";
if ((new DOMParser()).parseFromString("", "text/html")) {
var html = (new DOMParser()).parseFromString(str, "text/html");
} else {
var html = document.implementation.createHTMLDocument("");
html.body.innerHTML = str;
}
var as = html.getElementsByTagName("a");
for (var i = 0; i < as.length; i++) {
as[i].innerHTML = "LINK";
}
console.log(html.body.innerHTML);
仅适用于IE&gt; = 9。