![](/img/trans.png)
[英]Copy one attribute to another in the same child element of a set of children in 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);
})
也許您可能想要獲取href
屬性(甚至阻止默認操作)
$('p.tweet a').click(function(ev){
ev.preventDefault();
var link = this.href; // no need to call the $ function
$('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')
。 href
屬性比標准HTML中的url
屬性更常見於錨點,但是如果您發明了一些標記,這些標記中的錨點具有url
屬性,那么您可以旋轉一下。
超鏈接的URL包含在href
屬性中,而不是url
屬性中。
您還應該阻止默認操作,使您的代碼如下所示:
$('p.tweet a').click(function(event){
var link = $(this).attr('url');
$('iframe').attr('src',link);
// cancel default event
event.preventDefault();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.