Javascript JQuery值与引用
我试图逐步增强包含a标记的div元素,以便更新div的内容,并且div的click事件打开a的href(在Javascript修改之前) 我有以下代码:Javascript JQuery值与引用,javascript,jquery,Javascript,Jquery,我试图逐步增强包含a标记的div元素,以便更新div的内容,并且div的click事件打开a的href(在Javascript修改之前) 我有以下代码: $("div") .click(function(){ window.open($("div a").attr("href")); }) .html(">"); <div>Some text and <a href="link.html">a link</a&
$("div")
.click(function(){
window.open($("div a").attr("href"));
})
.html(">");
<div>Some text and <a href="link.html">a link</a></div>
$(“div”)
。单击(函数(){
window.open($(“div a”).attr(“href”);
})
.html(“”);
一些文本和
问题是,当单击事件发生时,
的内容已经更新,因此href属性不再有效
非常感谢您对我如何编写此文件以记住url的任何帮助。以下内容可以帮助我:
$("div").each(function () {
var url = $('a', this).attr('href');
$(this).click(function () { window.open(url); }).html(">");
});
如果只有一个div
,则可以跳过。在替换内容之前,只需将href
值保存到变量中即可。或使用闭包:
$("div")
.click((function (url) {
return function () { window.open(url); };
})($("div a").attr('href')))
.html(">");
沿着这些思路应该可以做到这一点:
$("div").each(function () {
var url = $('a', this).attr('href');
$(this).click(function () { window.open(url); }).html(">");
});
如果只有一个div
,则可以跳过。在替换内容之前,只需将href
值保存到变量中即可。或使用闭包:
$("div")
.click((function (url) {
return function () { window.open(url); };
})($("div a").attr('href')))
.html(">");