0

我有一个显示产品的列表。当我单击一个时,我需要更改其类<li>以显示它已被单击。我得到了这个工作......但我不能做的是清除<li>以前点击过的另一个以显示它不再被选中。

这是我的代码的一部分,我做错了什么?顺便说一句,我的逻辑是首先将所有类刷新为未选中,然后使用我的产品 ID 号更新列表。这可以在第二行代码中看到。

我是 javascript 的新手,并且做了我的研究,这就是我得到的。

function showdetails(ProductID) {           
  document.getElementsByName("ProductList").className = "notselected";
  $("#"+ProductID).attr('class','selected');
4

2 回答 2

3

你想这样做吗?

function showdetails(ProductID) {    
    $("[name=ProductList].selected").removeClass('selected');
    $("#"+ProductID).addClass('selected');
}
于 2013-10-28T18:26:00.117 回答
0

我认为您需要遍历所有返回的元素document.getElementsByName("ProductList")并分别更改className为每个元素。

var productLists = document.getElementsByName('ProductList');
for (i = 0; i < productLists.length; i++) {
  productLists[i].className = 'notselected'
}
于 2013-10-28T18:28:12.083 回答