【问题标题】:apply rel attribute to <a> if child is img - jquery如果孩子是img,则将rel属性应用于<a> - jquery
【发布时间】:2011-06-28 05:40:12
【问题描述】:

我正在使用 jquery 并希望动态地向标记添加 rel 属性,但前提是它的子项是要添加 rel="lightbox" 的图像。类似于以下内容....

if('a').children(img){

            $(this).attr('rel', 'lightbox');
        }

非常感谢任何帮助/建议。

【问题讨论】:

    标签: jquery attributes css-selectors


    【解决方案1】:

    试试这个:

    $('a > img').parent().attr('rel', 'lightbox');
    

    【讨论】:

    • +1,但考虑使用 'a &gt; img' 仅匹配直接子代,因为您使用的是 parent()
    • 是的,工作,谢谢雅各布!比我尝试的效率高得多,我把它复杂化了!
    【解决方案2】:

    您可以使用 jQuery 使用子选择器。子选择器匹配父匹配的孩子。使用space&gt; 来分隔子选择器:

    // find all "img" children of "a"
    $('a > img').each(function(){ $(this).attr('rel', 'lightbox'); });
    

    【讨论】:

      【解决方案3】:

      $('img').parent('a').attr('rel', 'lightbox');

      【讨论】:

        【解决方案4】:

        也许是这样的?不确定!

        $('a').find('img').each(function(i,v){
         $(v).parent().attr('rel','lightbox');
        });
        

        我更喜欢 find() 而不是 '>' 因为它更快。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-17
          • 2015-05-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多