简体   繁体   English

如何使用jQuery仅切换列表中的某些元素?

[英]How can I toggle only certain elements in a list using jQuery?

I have the following HTML: 我有以下HTML:

 <div class='sidebar-listview ui-listview' data-role='listview' data-theme='c'>
      <li class='ui-li ui-li-static ui-body-c ui-li-has-icon io-sidebar-section io-sidebar-section-collapsed io-sidebar-section-advanced-toggle' id='0aa210f2-e811-4bae-aac0-649bf87fb240'>
          <img src='/document/d5308dfc-af9e-41a4-ab0f-9b5ff6c4c43e/latest' class='ui-li-icon ui-li-thumb' height='16' width='16'/>
          <div class='io-sidebar-link-text'>Activities</div>
      </li>
      <span io-sidebar-section='0aa210f2-e811-4bae-aac0-649bf87fb240'>
          <li class='ui-li ui-li-static ui-body-d ui-li-has-icon io-sidebar-link io-sidebar-link-standard' data-theme='d' io-sidebar-section='0aa210f2-e811-4bae-aac0-649bf87fb240' io-object-view='/cms?url=ui/object&object=34029fec-b949-3780-b9e6-9522413b9f2c' io-record-view='/cms?url=ui/record&object=34029fec-b949-3780-b9e6-9522413b9f2c' style='display: block'>
              <img src='/document/140075b9-878e-4fc8-9ed6-ac422046accf/latest' class='ui-li-icon ui-li-thumb' height='16' width='16'/>
              <div class='io-sidebar-link-text'>Events</div>
          </li>
          <li class='ui-li ui-li-static ui-body-d ui-li-has-icon io-sidebar-link io-sidebar-link-standard' data-theme='d' io-sidebar-section='0aa210f2-e811-4bae-aac0-649bf87fb240' io-object-view='/cms?url=ui/object&object=db13a9ad-2494-34bb-8a59-cb99fd308051' io-record-view='/cms?url=ui/record&object=db13a9ad-2494-34bb-8a59-cb99fd308051' style='display: block'>
              <img src='/document/423fc17f-08b2-46bb-a1db-a5395cd63b83/latest' class='ui-li-icon ui-li-thumb' height='16' width='16'/>
              <div class='io-sidebar-link-text'>Tasks</div>
          </li>
          <li class='ui-li ui-li-static ui-body-d ui-li-has-icon io-sidebar-link io-sidebar-link-standard' data-theme='d' io-sidebar-section='0aa210f2-e811-4bae-aac0-649bf87fb240' io-object-view='/cms?url=ui/object&object=23505d2a-bf3b-11e0-8058-001ec93afa2c' io-record-view='/cms?url=ui/record&object=23505d2a-bf3b-11e0-8058-001ec93afa2c' style='display: block'>
              <img src='/document/f7cd2d4c-1bbe-4131-b1bb-b6bff1e9bea5/latest' class='ui-li-icon ui-li-thumb' height='16' width='16'/>
              <div class='io-sidebar-link-text'>Projects</div>
          </li>
          <li class='ui-li ui-li-static ui-body-d ui-li-has-icon io-sidebar-link io-sidebar-link-advanced' data-theme='d' io-sidebar-section='0aa210f2-e811-4bae-aac0-649bf87fb240' io-object-view='/cms?url=ui/object&object=5e0d648c-bf52-11e0-b7e6-001ec93afa2c' io-record-view='/cms?url=ui/record&object=5e0d648c-bf52-11e0-b7e6-001ec93afa2c' style='display: none'>
              <img src='/document/8dbc2454-a2f8-47b0-ba32-d5b8552c0160/latest' class='ui-li-icon ui-li-thumb' height='16' width='16'/>
              <div class='io-sidebar-link-text'>Milestones</div>
          </li>
      </span>
</div>

When I click on a section-header I want to toggle io-sidebar-link-advanced. 当我单击节标题时,我想切换io-sidebar-link-advanced。

I have the jquery which doesn't work: 我有无法使用的jQuery:

$('.io-sidebar-section-collapsed').click(function () {  
    console.log('section header clicked!');
    console.log($(this).parent());
    $(this).parent().siblings('.io-sidebar-link-advanced').toggle('fast',function(){});
});

How can I get this to work? 我该如何工作?

$(this).parent() refers to the div, so you're selecting the div's siblings. $(this).parent()引用div,因此您正在选择div的同级对象。 Try $(this).parent().find(...) instead of $(this).parent().siblings(...) 尝试$(this).parent().find(...)代替$(this).parent().siblings(...)

    $(this).parent().siblings('.io-sidebar-link-advanced').toggle('fast',function(){});

Needs to be 需要是

    $(this).siblings('span').children('.io-sidebar-link-advanced').toggle('fast',function(){});

The parent div has no siblings here. 父div在这里没有兄弟姐妹。

Replace: 更换:

$(this).parent().siblings('.io-sidebar-link-advanced').toggle('fast',function(){});

with: 与:

$(this).parent().find('.io-sidebar-link-advanced').toggle('fast',function(){});

Example

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM