search

Home  >  Q&A  >  body text

javascript - 使用代码时,一行jq选择器语句苦思不明

 <p class="word-box">
        <p>天下风云出我辈, 一入江湖岁月催; 皇图霸业谈笑间, 不胜人生一场醉。 提剑跨骑挥鬼雨, 白骨如山鸟惊飞; 尘事如潮人如水, 只叹江湖几人回。</p>
      </p>
$(".word-box").each(function(i){
    var pH = $(this).height();
    var $p = $("p", $(this)).eq(0);//这里不明白
    while ($p.outerHeight() > pH) {
        $p.text($p.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "..."));
    };
});

就是下面这句想了很久不明白是什么意思,选择p元素和word-box元素然后返回p元素?

var $p = $("p", $(this)).eq(0)
PHP中文网PHP中文网2894 days ago241

reply all(5)I'll reply

  • 天蓬老师

    天蓬老师2017-04-10 17:35:45

    楼主其实可以偷偷的去看一些源码,


    是不是看了基本就知道了,其实跟$(this).find('p').eq(0)一样一样的

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 17:35:45

    var $p = $("p", $(this)).eq(0);//这里不明白//
    在当前找p标记。返回第一个

    $([selector,[context]])
    selector:用来查找的字符串
    context:作为待查找的 DOM 元素集、文档或 jQuery 对象。

    描述: 在文档的第一个表单中,查找所有的单选按钮(即: type 值为 radio 的 input 元素)。
    jQuery 代码:$("input:radio", document.forms[0]);

    eq(index|-index)
    获取当前链式操作中第N个jQuery对象,返回jQuery对象,当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个。当参数为负数时为反向选取,比如-1为倒数第一个,具体可以看以下示例。
    类似的有get(index),不过get(index)返回的是DOM对象。

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:35:45

    没这样用过,获取wrap-box里的p元素?

    reply
    0
  • 黄舟

    黄舟2017-04-10 17:35:45

    $("#ccc p")这个是获取#ccc这个父元素下的p标签;
    但是#ccc是$(this)的时候就不好这么写的吧
    但是这种$("p",$("#ccc))的形式,也是查找#ccc父元素下的p标签
    就可以$("p",$(this))的写法了

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:35:45

    http://www.w3school.com.cn/jq...

    reply
    0
  • Cancelreply