在我的页面上,我有几张包含产品信息及其作者的表格。我还有一个包含每个作者的超链接的div。现在我正在使用javascript将作者姓名链接到超链接:
<script>
onload = myfun;
function myfun(){
var show =document.getElementById('2364').innerHTML;
var link = document.getElementsByClassName('2364');
var item = link[0];
var item2 = link[1];
document.getElementById('2364').innerHTML=item.outerHTML+'; '+item2.outerHTML;
}
</script>
我的问题是我需要动态获取元素ID,我不知道如何解决这个问题。
修改
Smarty创建了html,这是其中的一部分:
<tr><td class="PLContent"><span class="manufacturer"><div id={$module_data.PRODUCTS_ID}>
<h3 id={php}echo $e++;{/php}>{$module_data.PRODUCTS_MANUFACTURER_NAME}{$MANUFACTURER_LINK}</h3></div></span>
动态ID表示当用户点击作者时,该页面将填充不同的产品,并且这些产品将具有不同的ID。
答案 0 :(得分:-1)
只需在元素中添加一个类名,然后获取所有ID(假设您熟悉jQuery)。
<tr><td class="PLContent"><span class="manufacturer"><div class="mydiv" id={$module_data.PRODUCTS_ID}>
<h3 class="myh3" id={php}echo $e++;{/php}>{$module_data.PRODUCTS_MANUFACTURER_NAME}{$MANUFACTURER_LINK}</h3></div></span>
获取ID:
$(".mydiv").each(function() { alert($(this).attr("id"); });
或
$(".myh3").each(function() { alert($(this).attr("id"); });
答案 1 :(得分:-1)
谢谢你的回答,他们给了我一些想法。我设法通过以下方式解决了我的问题:
var t1 = document.getElementById('1').innerHTML;
var link = document.getElementsByClassName(t1);
document.getElementById(t1).innerHTML = link[0].outerHTML;
由于每页有10个产品,我会为每个更改ID的产品编写此功能。它可能不是很整洁,但它正在做这项工作。
HTML:
<div id={$module_data.PRODUCTS_ID}>
<p>{$module_data.PRODUCTS_MANUFACTURER_NAME}</p>
<p id={php}echo $e++;{/php}>{$module_data.PRODUCTS_ID}</p>
</div>