恢复原始元素ID

时间:2014-08-23 20:28:56

标签: javascript html javascript-events

我有li块,onclick将更改类ID,如下所示:

onclick = "document.getElementById('procblock1').id = 'procblock1Clicked';" "document.getElementById('procblock2Clicked').id = 'procblock2';" "document.getElementById('procblock3Clicked').id = 'procblock3';" "document.getElementById('procblock4Clicked').id = 'procblock4';"

document.getElementById('procblock2Clicked').id = 'procblock2';行应将所有点击的元素(块)还原为原始ID名称。

该代码适用于将原始ID更改为已点击的ID,但在根据第2,3和2行恢复先前点击的原始ID时没有任何效果。 4。

我一直在努力寻找类似的问题,但却找不到任何涵盖这一特定问题的内容。

2 个答案:

答案 0 :(得分:1)

@Matthias - 我根据你的建议采取了一种非常简化的jquery解决方案:

`$(function() { 
    $(".showinfo").click(function() { //using class instead of ID
    $(".showinfo").removeClass("clicked"); //Remove all existing clicks
    $(this).addClass("clicked"); //add the class to the clicked element }); 
});`

发布解决方案以防其他人有相同的查询。感谢您的帮助。

答案 1 :(得分:0)

如果这确实是代码的一部分,那么您使用第2-4行将无法工作; onclick只会处理第一行。你应该把它包装成一个被调用onclick的函数,比如onclick =" doStuff()"并添加function doStuff () {/* your code here */}。但这只是猜测,因为你只提供了一些有问题的代码。

此外,您还可以了解自己想要达到的目标 - 如果您想要标记点击的元素,那么添加一个类就更简洁了,例如"点击的"或者"激活",您只需稍后删除而不是更改ID。