我需要将target =“_ blank”添加到我网站上的所有外部链接,通常我会使用:
$("a[href^=http]").each(function(){
if(this.href.indexOf(location.hostname) == -1) {
$(this).attr({
target: "_blank",
title: "Opens in a new window"
});
}
});
不幸的是,我需要检查的链接位于一个id为messageArea的div中,并且因为它们是通过ajax调用生成的,所以它们不会被拾取。
我可以使用c#regex函数并重写内容或添加target =“_ blank”但我宁愿将内容保留在原始状态。
有什么建议吗?
使用lucuma的建议解决方案是:
$.getJSON(
"ajax/GetMessage.aspx?message=" + msgID,
function (msgs) {
$("div#messageArea").html(msgs.responseText);
$("div#messageArea a[href^=http]").each(function(){
if(this.href.indexOf(location.hostname) == -1) {
$(this).attr({
target: "_blank",
title: "Opens in a new window"
});
}
});
}
);
答案 0 :(得分:1)
在从ajax调用返回时添加以下代码:
$("div#messageArea a[href^=http]").each(function(){
if(this.href.indexOf(location.hostname) == -1) {
$(this).attr({
target: "_blank",
title: "Opens in a new window"
});
}
});
答案 1 :(得分:0)
<a href="http://google.com">google</a>
all is work也许你可以展示更多代码?