我需要将动态文本值分配给某些元素,这些元素然后可以放在我正在处理的网站中,因为它需要稍后在某个时候进行本地化。
我希望在JS中创建一个列表 - 如下所示 -
document.getElementsById('title').innerHTML="Title1 Text";
document.getElementsById('title2').innerHTML="Title2 Text";
但是我当然想要拥有title
,title2
div的多个副本,这些副本因getElementsById
结构而无效。有没有人有任何其他建议或解决方法?
答案 0 :(得分:1)
您可以随时使用类而不是ID,例如
<p class="introText">Title1 Text</p>
<p class="closingText">Title2 Text</p>
而不是只影响其中一个,你可以影响所有这些,如果你想只针对一个,你可以为那个添加一个ID。
<p class="introText" id="topIntro">Title1 Text</p>
<p class="closingText">Title2 Text</p>
<p class="introText">Title1 Text (again)</p>
答案 1 :(得分:0)
你想要使用类而不是id。但JavaScript默认没有getElementsByClass()函数,所以除非你想使用类似JQuery的东西,否则你必须自己定义函数。
document.getElementsByClass = function(class){
var itemsfound = new Array;
var elements = document.getElementsByTagName('*');
for(var i=0;i<elements.length;i++){
if(elements[i].className == class){
itemsfound.push(elements[i]);
}
}
return itemsfound;
}
这将返回具有指定类的元素数组。然后你可以根据需要使用以下代码。
document.getElementsByClass('class'); // gives an array of elements of given class
document.getElementsByClass('class')[0]; // selects first element in array with given class
但是如果你要使用JQuery,那就像这样简单:
$('.title').html("Title 1 Text");
$('.title2').html("Title 2 Text");
希望这在某种程度上有所帮助。欢呼声