我有一堆div與奇怪的ID和每個人都包含一個視頻。它們實際上是視頻嵌入代碼,但它們對我來說並不常見。這裏有一個例子:動態更改div的ID?
<div id="evp-1fae4e37639894816f03591bc7009c68-wrap" class="evp-video-wrap"></div><script type="text/javascript" src="http://domain.com/evp/framework.php?div_id=evp-1fae4e37639894816f03591bc7009c68&id=cmVsYXRpb25zaGlwLW1hcmtldGluZy0xLmZsdg%3D%3D&v=1278525356"></script><script type="text/javascript">_evpInit('cmVsYXRpb25zaGlwLW1hcmtldGluZy0xLmZsdg==');</script>
我想要做的是創建一個視頻播放列表。作爲其中的一部分,我創建了使用div的列表,這些div也使用onclick屬性來觸發我的JS功能在視頻之間切換。下面是它的外觀:
<div class="vid-list" onclick="switchvideo('http://domain.com/html-vids/headline-vids/second-vid.html', 2)"><p>This a video tutorial for blah blah blah.</p></div>
的問題是,每次我切換到另一個視頻的嵌入代碼的變化DIV ID也因爲否則將無法正常工作時間。所以我需要在div中加載視頻腳本之前改變它。我試圖用下面的JS功能實現:
function switchvideo(url, vidnumber)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET",url,false);
xmlhttp.send();
}
var div_node = document.getElementByClass('evp-video-wrap');
if (vidnumber == 2) {
div_node.id = 'evp-78c0b7c4f6d3377954825f145734fd5c-wrap';
}
document.getElementById(div_node.id).innerHTML=xmlhttp.responseText;
}
顯然它不工作。我懷疑問題是上面粗體的問題。我嘗試使用'div_node.id'通過'class'和它的id獲取元素。我假設通過執行'document.getElementByClass',我得到了該元素的引用,所以我可以使用它來操縱其他屬性。但我不確定...任何人都可以請賜教嗎?
我不知道** **字符是怎麼回事。他們不應該在那裏。它們之間的文字應該以粗體顯示。 – Joann 2010-07-08 16:06:32
您不能在代碼塊中使用粗體字符 – 2010-07-08 16:12:42