2017-06-01 60 views
1

有沒有辦法刪除iframe中所有鏈接中的所有錨點標題屬性,以便當您將鼠標懸停在它們上面時,您不會獲得標題?刪除iframe中的所有錨點標題屬性

我知道我可以做類似以下的事情,但由於某種原因,它不工作。

$("iframe").load(function() { 
    $("iframe").contents().find("a").each(function(index) { 
     $(this).attr('title',''); 
    }); 
}); 

任何幫助,將不勝感激。

+0

是來自同一個域,協議等 – adeneo

+0

加載的iframe不,完全不同的域。我只是想殺錨錨,因爲他們在這個instagram插件中很煩人@adeneo – bryan

+0

看到這個問題/答案:https://stackoverflow.com/questions/6170925/get-dom-content-of-cross- domain-iframe – CodeLikeBeaker

回答

1

如果iframe中使用相同的協議和域,您可以更改iframe的內容。

不同的協議或域會產生安全異常。

0

鑑於iFrame的內容是從同一個域,你可以使用下面的每一個錨標記

$('a').removeAttr('title'); 
+0

我的問題是沒有得到內容 – bryan

+0

Contents()只能讀取來自同一個域的內容。 –

+0

太棒了,那麼如果它不是同一個域名,我該怎麼做呢? – bryan

1

這會爲你工作在同一個域:如果你不

$('iframe').load(function(){ 
     $(this).contents().find('a').removeAttr('title'); 
}) 

在同一個域上,它將不起作用。請參閱下面的SO問題/答案:

Get DOM content of cross-domain iframe

+1

不起作用。 '$(this).contents()'不會返回任何內容。 '$(this)'返回iframe,但是 – bryan

+0

我看到你的問題是跨域。這隻會工作在同一個域。 – CodeLikeBeaker

0

試試這個:

的Javascript:Demo

var iframe = document.getElementById('iframeId'); 
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document; 

var links = innerDoc.getElementsByTagName("a"); 
for (var i = 0; i < links.length; i++) { 
    links[i].removeAttribute("title"); 
} 

的Jquery:Demo

setTimeout(function() { 
     $("#iframeId").contents().find("a").removeAttr("title"); 
}, 1000);