Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery将属性从一个元素复制到另一个元素_Javascript_Jquery - Fatal编程技术网

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

Javascript 使用jQuery将属性从一个元素复制到另一个元素,javascript,jquery,Javascript,Jquery,我有下面的jQuery代码,它似乎没有做任何事情。单击链接时,我试图将其url属性的值复制到iframe的src属性中 基本上,这是为了使链接在iframe中打开(每次单击新链接时,iframe的内容都会被替换),而不是像普通链接一样 那么我的代码有什么问题 $('p.tweet a').click(function(){ var link = $(this).attr('url'); $('iframe').attr('src',link); }) 也许您希望获得href属性

我有下面的jQuery代码,它似乎没有做任何事情。单击链接时,我试图将其
url
属性的值复制到
iframe
src
属性中

基本上,这是为了使链接在iframe中打开(每次单击新链接时,iframe的内容都会被替换),而不是像普通链接一样

那么我的代码有什么问题

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

也许您希望获得
href
属性(甚至阻止默认操作)

那么我的代码有什么问题

$('p.tweet a').click(function(){
    var link = $(this).attr('url');
    $('iframe').attr('src',link);
})
通过从您订阅的锚点的单击处理程序返回false,您并没有取消默认操作,因此在浏览器从该页面重定向之前,您的脚本没有任何执行机会:

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

顺便说一下,请注意我使用了
$(this.attr('href')
,而不是
$(this.attr('url')
)。与标准HTML中的
url
属性相比,
href
属性对于锚更为常见,但是如果您发明了一些标记,其中锚具有
url
属性,那么您可以对其进行旋转。

超链接的url包含在
href
属性中,不是
url
属性

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

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

什么是
url
属性?你的意思大概是
href
。。?顺便说一句,
var link=this.href
同样有效,而且速度更快。我知道,我正在将值存储在伪属性中,直到它可以复制到iFrame。您可能需要使用
数据-
标记和
数据()
函数<代码>$(this).data('url')@SamNabi-所以我假设问题不是取消默认事件,那么您都准备好了(更新的答案,尽管它不是很有用,因为已经有两个答案说明了这个问题)?另外,dcpomero是正确的——添加一个没有
data-
前缀的自定义属性是无效的HTML(尽管它仍然可以正常工作,所以这不是一个大问题)。这在今天很有用。谢谢分享!