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

Sam*_*abi 0 javascript jquery

我有以下jQuery代码似乎没有做任何事情.当链接被点击,我试图得到它的价值url属性被复制到iframesrc属性.

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

那我的代码有什么问题?

$('p.tweet a').click(function(){
    var link = $(this).attr('url');
    $('iframe').attr('src',link);
})
Run Code Online (Sandbox Code Playgroud)

fca*_*ran 5

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

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


Dar*_*rov 5

那我的代码有什么问题?

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

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

顺便提一下,我已经用过$(this).attr('href')而不是$(this).attr('url').该href属性是有点儿更常见的锚比url标准的HTML属性,但如果你已经发明了一些标记,其中锚定有一个url属性,那么你可以给它一个旋转.