【问题标题】:jQuery pagination :contains questionjQuery分页:包含问题
【发布时间】:2011-09-23 08:59:15
【问题描述】:

我有两个需要互为镜像的无序列表。我使用这些列表作为用户选择他们希望返回的结果大小的一种方式。

<ul>
    <li><a class='myclass selected' title='display 5'>5</a></li>
    <li><a class='myclass' title='display 10'>10</a></li>
    <li><a class='myclass' title='display 15'>15</a></li>
    <li><a class='myclass' title='display 20'>20</a></li>
    <li><a class='myclass' title='display 50'>50</a></li>
</ul>
<div id='content'></div>
<ul>
    <li><a class='myclass selected' title='display 5'>5</a></li>
    <li><a class='myclass' title='display 10'>10</a></li>
    <li><a class='myclass' title='display 15'>15</a></li>
    <li><a class='myclass' title='display 20'>20</a></li>
    <li><a class='myclass' title='display 50'>50</a></li>
</ul>

当单击其中一个链接时,我正在使用 jquery 添加一个类以使包含的文本变为粗体,但我需要一种将此类添加到第二个列表的方法。我最初想使用包含的文本,但是当点击 5 时,15 和 50 也添加了这个类,我知道为什么,因为他们的文本中有 5,但我坚持要解决这个问题。

$('a.myclass').live('click',function(){
   var size = $(this).text(); 
   $('a.myclass').removeclass('selected');
   $('a.myclass:contains('+size+')').addClass('selected');
});

问题是

【问题讨论】:

    标签: jquery list contains


    【解决方案1】:

    如果它只在列表中,这将是一个解决方案。 您可以只使用 $(this),它是对点击链接的引用。

    $('a.myclass').live('click',function(){
       var size = $(this).text(); 
       $('a.myclass').removeclass('selected');
       $(this).addClass('selected');
    });
    

    这可能是镜像列表问题的解决方案。 (有两个相同的列表)

    HTML:

    <ul>
        <li><a class='myclass size-5 selected' title='display 5'>5</a></li>
        <li><a class='myclass size-10' title='display 10'>10</a></li>
        <li><a class='myclass size-15' title='display 15'>15</a></li>
    </ul>
    <div id='content'></div>
    <ul>
        <li><a class='myclass size-5 selected' title='display 5'>5</a></li>
        <li><a class='myclass size-10' title='display 10'>10</a></li>
        <li><a class='myclass size-15' title='display 15'>15</a></li>
    </ul>
    

    JavaScript

    $('a.myclass').live('click',function(){
       var size = $(this).text(); 
       $('a.myclass').removeclass('selected');
       $('size-'+size).addClass('selected');
    });
    

    【讨论】:

    • 那么第一行var size ... 已经过时了。
    • 对不起,我认为我没有清楚地说明问题我已经再次尝试,请不要编辑
    • 这并不能解决镜像问题,因为这只是指点击的项目。
    • 是否可以向元素添加额外的类,如 size-5、size-10 等?在这种情况下,您可以使用 $(".size-" + size).addClass('selected');
    • 我目前正在考虑使用 toggleClass,但我再次陷入了困境。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    相关资源
    最近更新 更多