2010-03-17 256 views

回答

3
var bananaImage = new Image(); 
bananaImage.id = "fruit"; 
bananaImage.src = "banana.jpg"; 
0

您可以動態創建元素,如<img>,並且使用JavaScript的DOM API設置其屬性。

3

使用jQuery框架,你可以這樣做:

<img class="idName" src="banana.jpg"/> 
<img class="idName" src="cherry.jpg"/> 

腳本...

var idName = 'fruit'; 

$(function() { 
    $('img.idName').each(function(i) { 
     $(this).attr({id: idName+i}); 
    }); 
}); 

...這會導致:

<img id="fruit0" class="idName" src="banana.jpg"/> 
<img id="fruit1" class="idName" src="cherry.jpg"/> 
+0

真的很大的努力。你是男人:)感謝偉大的工程 – SSR 2014-03-25 17:17:33

0

,或者你可以任何其他方式獲取元素IE

imgs = container.getElementsByTagName("img"); 
foreach(imgs as img){ 
    if(imgs.src == "banana.jpg") img.id = "fruit"; 
} 

注:的foreach不JS工作,你就需要一個for循環,但我懶得:P

0

我覺得這是你在找什麼。你需要某種事件來觸發JavaScript。由於IMG沒有它,除了用戶事件,你需要類似的東西:

<head> 
<script language="JavaScript" type="text/javascript"> 
function nameMyIds() { 
    var idToName = "firstImageId"; 
    var theImage = getImageBySrc("banana.jpg"); 
    if (theImage!=null) 
     theImage.id = idToName; 
} 
function getImageBySrc(src) { 
    // using DOM, using jQuery would make this easier 
    var allImages = document.body.getElementsByTagName("IMG"); 
    for (var i=0; i<allImages.length; i++) { 
     var img = allImages[i]; 
     var i = img.src.indexOf(src); 
     if (img.src == src || img.src.indexOf(src) > 0) { return img }; 
    } 
} 
</script> 
</head> 
<body onload="nameMyIds()"> 
    <img src="banana.jpg"> 
</body>