使用jQuery将属性从一个元素复制到另一个元素
Copy an attribute from one element to another with jQuery
我有下面的jQuery代码,它似乎什么都没做。单击链接时,我正试图将其url
属性的值复制到iframe
的src
属性中。
基本上,这是为了让链接在iframe中打开(每次单击新链接时,iframe的内容都会被替换),而不是像普通链接一样。
那么我的代码出了什么问题?
$('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
属性的标记,那么您可以对其进行旋转。
您可能想要获得href
属性(甚至阻止默认操作)
$('p.tweet a').click(function(ev){
ev.preventDefault();
var link = this.href; // no need to call the $ function
$('iframe').attr('src',link);
})
超链接的URL包含在href
属性中,而不是url
属性中。
您还应该防止默认操作,使您的代码看起来像这样:
$('p.tweet a').click(function(event){
var link = $(this).attr('url');
$('iframe').attr('src',link);
// cancel default event
event.preventDefault();
});
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 表追加而不附加最后一个元素
- 滚动到容器中的下一个元素-几乎到了
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript获取上一个元素的内容
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 在数组中的一个元素上设置多个值
- 指令的模板必须只有一个根元素:With restrict E&替换true
- HTML JavaScript,我如何能够通过给每个元素一个不同的Id来使用JavaScript使这个函数工作
- 如何创建一个独立的 DOM 元素?一个不从父母那里继承 css 等
- 如何给图像元素一个“;选择“;使用Raphael.js查看
- 如何显示隐藏的
- 元素一个接一个或全部同时
- 使用"span"创建一个自定义的基于web的文本编辑器;元素——一个坏主意
- 引导旋转木马传递元素一个接一个
- 给所有元素一个匹配数组内容的ID
- 我如何得到Json数组元素一个接一个的jquery上不同的id'
- 一次淡入附加元素一个
- 如何使用AngularJS检索外部网站的内容(一个元素一个元素)