使用jQuery将属性从一个元素复制到另一个元素

时间:2012-07-09 22:27:04

标签: javascript jquery

我有以下jQuery代码似乎没有做任何事情。点击链接后,我正在尝试将其url属性的值复制到iframe的{​​{1}}属性中。

基本上这应该是在iframe中打开链接(每次点击新链接时都会替换iframe的内容)而不是像普通链接那样。

我的代码出了什么问题?

src

3 个答案:

答案 0 :(得分:5)

也许您可能想要获取href属性(甚至阻止默认操作)

$('p.tweet a').click(function(ev){
    ev.preventDefault();
    var link = this.href;  // no need to call the $ function
    $('iframe').attr('src',link);
})

答案 1 :(得分:5)

  

我的代码出了什么问题?

您不是通过从您订阅的锚点的单击处理程序返回false来取消默认操作,因此在浏览器只是重定向远离该页面之前不会让您的脚本执行任何机会:

$('p.tweet a').click(function() {
    var link = $(this).attr('href');
    $('iframe').attr('src', link);
    return false;
});

顺便提一下,我已使用$(this).attr('href')代替$(this).attr('url')。对于锚点来说,href属性比标准HTML中的url属性更常见,但是如果你发明了一些锚点具有url属性的标记,那么你可以给它一个旋转

答案 2 :(得分:0)

超链接的网址包含在href属性中,而不是url属性中。

您还应该阻止默认操作,使您的代码如下所示:

$('p.tweet a').click(function(event){
    var link = $(this).attr('url');
    $('iframe').attr('src',link);
    // cancel default event
    event.preventDefault();
});