2010-03-17 3 views

답변

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

당신은 동적으로 <img> 등의 요소를 만들고, 자바 스크립트의 DOM API를 사용하여 속성을 설정할 수 있습니다 .

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

요소를 다른 방법으로 가져옴 IE

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

참고 : 루프를해야합니다,하지만 난 너무 게으른 해요 foreach 문이 JS에서 작동하지 않습니다 : P

+0

정말 대단한 노력입니다. 너는 남자 야 :) 고마워. 훌륭한 작품들. – SSR

0

또는 당신이 할 수있는 : 결과

<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}); 
    }); 
}); 

... : 당신이 뭔가를 할 수있는 jQuery를 프레임 워크를 사용

0

나는 이것이 당신이 찾고있는 무엇을 생각합니다. 자바 스크립트를 트리거하기 위해서는 어떤 종류의 이벤트가 필요합니다. 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> 
관련 문제