我的頁面上有一個未知數的<img>
元素,沒有ID,我需要能夠瀏覽它們並根據一些不可預知的因素設置某些屬性。如何在不知道ID的情況下從JavaScript中選擇HTML元素?
3
A
回答
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
}
}
-1
如果不知道更多細節,很難回答這個問題,但是您是否考慮過使用Jquery?
0
使用jQuery和元素類型$(「IMG」)搜索每個()給每個元素
2
可以使用的getElementsByTagName得到的img標籤的列表上執行時的操作:
https://developer.mozilla.org/en/DOM/element.getElementsByTagName
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(....
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');
相關問題
- 1. 如何在不知道父元素的情況下選擇第n個孩子?
- 2. 如何在不知道元素的情況下選擇第一個孩子?
- 3. Jquery選擇器問題:在不知道ID的情況下引用特定元素
- 4. 如何在不知道其寬度的情況下將塊元素居中?
- 5. 如何在不知道id的情況下從內頁獲取父級iframe元素?
- 6. 如何在不使用forEach()的情況下使用HTML元素?
- 7. 如何在不知道PHP中另一頁上的html元素參數的情況下獲取表單數據?
- 8. JavaScript:如何在有兩個B類元素的情況下在ID X內選擇類B內的類A?
- 9. 在不知道ItemName的情況下從SimpleDB中刪除項目?
- 10. 如何知道哪些元素在contentEditable情況下正在修改?
- 11. 如何選擇一個動態元素id哪個元素id不知道?在jquery
- 12. 知道這種情況下
- 13. 如何知道在選擇中是否存在鏈接元素
- 14. 如何在不使用html的情況下在div中包含元素?
- 15. 如何在不知道寬度的情況下對齊div?
- 16. 如何在不知道參數的情況下使用dll?
- 17. 如何在不知道類名的情況下調用方法?
- 18. 如何在不知道密鑰的情況下銷燬notification_key?
- 19. 如何在沒有HTML標記的情況下選擇文本
- 20. 如何在不使用按鈕的情況下在html表中選擇一行?
- 21. 在不寫完整路徑的情況下選擇多個下降元素
- 22. 如何在不知道請求數的情況下鏈接Javascript ajax請求。 (Nodejs)
- 23. 在不移動其他元素的情況下放置HTML/CSS
- 24. 如何在不知道表單內控件名稱的情況下獲取表單中的GET/POST元素
- 25. Backbone.js如何在不使用ID的情況下追蹤DOM元素?
- 26. 如何在javascript中通過id和class來選擇元素?
- 27. 在不知道索引的情況下在C#中解析json
- 28. 如何在不知道n的情況下隨機選擇n個對象中的一個?
- 29. 如何在這種情況下使用Javascript選擇器?
- 30. 如何在jQuery的選擇下的id子元素
這正是我會推薦的代碼(假設它是一個圖書館不可知的網站)。 – Moses 2010-11-24 04:52:13
+1 for for循環 – gnarf 2010-11-24 05:44:24