我有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。
我一直在努力寻找类似的问题,但却找不到任何涵盖这一特定问题的内容。
答案 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。