2011-11-10 36 views
0

我遇到iframes和id問題。jquery - 替換HTML中的特定行

我目前有一個沒有ID附加到其他網站的JavaScript的iframe。因此,我很快寫了一個Jquery腳本,在加載頁面時爲iframe提供ID,並且它成功運行。但問題是,它將ID應用於頁面上的所有Iframe,而不是專門用於我想要的。

這就是我所擁有的。

<script> 
$(document).ready(function() { 
$("iframe").attr({ 
    id: "iframeid1" 
}); 
});</script> 

是否有一種方法與JQuery的'搜索和替換'頁面上的具體內容?例如

搜索:

<iframe allowtransparency="true" frameborder="0" scrolling="no" width="160" height="600" 

替換:

<iframe id="iframeid1" allowtransparency="true" frameborder="0" scrolling="no" width="160" height="600" 

任何幫助表示讚賞!提前致謝!

+0

需要大約四周的iframe的HTML標記的詳細信息。是包裝在一個div內的iframe?如果你可以在iframe周圍發佈html,那就太好了。 –

回答

1

如果你知道它是nth的iframe頁面上:

$("iframe")[n].setAttribute('id', 'iframe1'); 

編輯:您還可以使用屬性選擇:

$("iframe[allowtransparency=true][frameborder=no][etc=etc]").attr({id: 'iframe1'}); 
+0

第二個選項完美運作。謝謝! – Dustin

0

您可以使用選擇器來查找具有特定屬性的iframe標記。但是,您需要能夠從屬性值中唯一標識所需的特定iframe,而不是HTML搜索。

作爲一個例子:

$('iframe[width="160"][height="600"]').attr("id", "iframeid1"); 

這將選擇具有寬度= 160和高度= 600 iframe代碼。您可以根據需要添加更多屬性來唯一地選擇您的特定iframe。

也許最好的選擇是圍繞iframe使用DOM結構來識別你想要的。您可以使用父對象標識符,標籤的排序等。無論有什麼幫助唯一標識你想要的。

1

這取決於是否有發現的一種獨特的方式你想要的iframe。例如,它是唯一一個width = 160和height = 600的人嗎?或者它總是頁面上的第X個iframe?它是否總是位於頁面中的相同位置?

下面是一些查詢,所有3種方案的示例:

// if the width/height combination is unique... 
var iframe = $('iframe[width=160][height=600]'); 

// if it is always, say, the 3rd iframe on the page 
var iframe = $('iframe:eq(2)'); // 0-based index 

// if it is always the only iframe in a div with an id of "iframeContainer"... 
var iframe = $('#iframeContainer').find('iframe'); 

然後你可以設置屬性就像你說:

iframe.attr('id', 'iframeid1'); 
1

如果IFRAME被包裹一個div裏面,用ID,比你可以這樣做:

<script> 
$(document).ready(function() { 
$("#divID iframe").attr({ 
    id: "iframeid1" 
}); 
});</script> 
0

如果你知道你的iframe是你可以通過索引POS得到它銀行足球比賽。

如果你有在頁面上4個Iframe和你正在尋找第三(關於DOM),你可以這樣做:

$("iframe").get(3).attr({ 
    id: "iframeid1" 
});