繁体   English   中英

jQuery值与参考

[英]JQuery Value vs Reference

我试图逐步增强包含标签的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>

问题是,单击事件发生时, <div>的内容已经更新,因此href属性不再有效。

我将如何编写此URL以便记住URL的任何帮助将不胜感激。

遵循以下原则可以解决问题:

$("div").each(function () {
    var url = $('a', this).attr('href');
    $(this).click(function () { window.open(url); }).html("&gt;");
});

如果只有一个div ,则可以跳过.each ,只需在替换内容之前将href值保存到变量中即可。 或使用闭包:

$("div")
    .click((function (url) {
        return function () { window.open(url); };
    })($("div a").attr('href')))
    .html("&gt;");

暂无
暂无

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

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