CollapsiblePanelContent

CollapsiblePanelContent

我正在尝试在jQuery中编写一个函数,该函数会将一个类添加到选定的链接(在iframe中打开页面),然后在选择另一个链接时删除该类。之前,我从另一个成员那里得到了一些类似类型的帮助,但涉及单选按钮和表格。

我尝试玩了一段时间,但是jQuery对我来说仍然很新,所以我对此并不了解。

基本上,我在<div id="CollapsiblePanelContent"> ... </div>中包含大约3-4组链接,我想在用户选择的此容器内的<a>标签中添加样式。

任何帮助将不胜感激。谢谢。

<div id="CollapsiblePanelContent">
  <a href="page1.asp" onclick="return handlelink(this)">Link1</a>
  <a href="page2.asp" onclick="return handlelink(this)">Link2</a>
  <a href="page3.asp" onclick="return handlelink(this)">Link3</a>
  <a href="page4.asp" onclick="return handlelink(this)">Link4</a>
</div>

<script type='text/javascript'>
  $(function() {
    $('div').click(function(event) {
      $(this).closest('.CollapsiblePanelContent').addClass('selected').parent().siblings().each(function() {
        $(this).find('.CollapsiblePanelContent').removeClass('selected');
      });
    });
  });
</script>

最佳答案

$('#CollapsiblePanelContent a').on('click', function(e){
  e.preventDefault(); // prevent page reload, you may remove it if don't need
  $(this).addClass('selected').siblings().removeClass('selected');
});


由于CollapsiblePanelContentid,因此正确的选择器将是#CollapsiblePanelContent而不是.CollapsiblePanelContent

但是,如果将CollapsiblePanelContent用于多个div,则应使用选择器id代替class。因为多个元素可以具有相同的.CollapsiblePanelContent

09-16 02:10