2010-11-24 93 views

回答

4

使用document.getElementsByTagName()

var imgs = document.getElementsByTagName("img"); 

for(var i = 0; i < imgs.length; i++) { 
    var currentImg = imgs[i]; 
    if (currentImg.somAttr) { 
     // do your stuff 
    } 
} 
+0

這正是我會推薦的代碼(假設它是一個圖書館不可知的網站)。 – Moses 2010-11-24 04:52:13

+0

+1 for for循環 – gnarf 2010-11-24 05:44:24

-1

如果不知道更多細節,很難回答這個問題,但是您是否考慮過使用Jquery?

0

使用jQuery和元素類型$(「IMG」)搜索每個()給每個元素

1

您可以設置圖像標籤的名稱屬性,並可以使用document.getElementsByName執行任何操作。

例如

<script type="text/javascript"> 
function getElements() 
    { 
    var x=document.getElementsByName("x"); 
    alert(x.length); 
    } 
</script> 

<input name="x" type="text" size="20" /><br /> 
<input name="x" type="text" size="20" /> 
6

你會使用this function通過它們來瀏覽一個數組:

document.getElementsByTagName('img'); 

這是img元素的數組,你可以像對待一樣對待它功能(即你仍然可以在元件上相同的操作,但你需要參考的要素):

document.getElementsByTagName('img')[0] 

如果你談論的因素是非常複雜的,我會用jQuery(這是真的很強大):

$('img[alt]').css('padding', '10px'); 

這將添加一個10px填充到每個圖像與alt屬性(我希望,因爲我臭名昭着的幾乎工作的代碼)。

祝你好運!

0

jQuery可能是您最好的選擇。否則,你將不得不遍歷一個dom樹並手動檢查屬性。一旦你使用jQuery,你可以通過屬性來選擇元素,如名稱,類,標籤名稱(輸入,圖像等)及其組合。

$("image .className").attr(.... 

http://www.jquery.com

6

大家忘掉document.images ...

for(var i = 0; i < document.images.length; i++) { 
    var img = document.images[i]; 

    if(img.src == "banner.gif") { 
    img.alt = "Banner"; 
    } 
    else if(img.alt == "Giraffe") { 
    img.title = "15 feet tall!"; 
    } 
} 

如果您需要在另一個元素中獲取圖像,你可以使用getElementsByTagName ...

var elem = document.getElementById('foo'); 
var fooImages = elem.getElementsByTagName('img'); 
相關問題