我怎樣才能動態地命名id的使用JavaScript?用javascript動態地命名一個id?
事情是這樣的:
JS:
var idName = "fruit";
HTML:
<img id="javascript:idName" src="banana.jpg">
我怎樣才能動態地命名id的使用JavaScript?用javascript動態地命名一個id?
事情是這樣的:
JS:
var idName = "fruit";
HTML:
<img id="javascript:idName" src="banana.jpg">
var bananaImage = new Image();
bananaImage.id = "fruit";
bananaImage.src = "banana.jpg";
您可以動態創建元素,如<img>
,並且使用JavaScript的DOM API設置其屬性。
使用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"/>
,或者你可以任何其他方式獲取元素IE
imgs = container.getElementsByTagName("img");
foreach(imgs as img){
if(imgs.src == "banana.jpg") img.id = "fruit";
}
注:的foreach不JS工作,你就需要一個for循環,但我懶得:P
我覺得這是你在找什麼。你需要某種事件來觸發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>
真的很大的努力。你是男人:)感謝偉大的工程 – SSR 2014-03-25 17:17:33