我需要将 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# 正则表达式函数并重写内容或添加 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"
});
}
});
}
);