资讯专栏INFORMATION COLUMN

两行代码的故事

AlphaWallet / 586人阅读

摘要:第一行代码完全能看懂,就是用选择指定的元素,代码最后加了,是因为用选择器得到的结果是数组。好了,短短的两行代码,花了自己一上午才研究清楚,也是蛮有意思的,哈哈。

今天上午闲来无事,就想着把 前端相关资源汇总 这篇文章中收集的链接整理一下,看到 《jQuery === 面条式代码?》 这篇文章的时候,感觉里面的代码挺有意思 ,于是就一边读文章,一边照着敲代码。

敲到文章第一节中一段 JS 代码的时候,自己就有些迷糊了,因为看到了以前从来没见到过的用法。

第一行 JS 代码完全能看懂,就是用 jQuery 选择指定的 DOM 元素,代码最后加了 [0],是因为用 $() 选择器得到的结果是数组。

可第二行的 $(form.texMsg) 究竟是怎么定位到 textarea 元素上的?

最开始以为是 $("div.className") 这种语法,于是把第一行 JS 代码注释掉,发现代码就不能用了,看来猜测不正确。而且!如果是 $("div.className") 这种语法的话,括号里面的双引号可是不能省略的!

另外,自己还查了 jQuery 的 API 文档,$() 这种语法的参数好像只接收字符串啊,可 form.textMsg 怎么看都不像是字符串,莫非 jQuery 源码中对非字符串类型的参数做了处理?

下面的 HTML 与上面的 JS 相对应。

那就用代码试试吧。于是重新写了 HTML 和 JS 进行测试。

结果发现,如果变量 dd1 是一个具体的 DOM 元素的话,$(dd1) 这样的语法是可以成功选择该元素的。

但是,不管子元素是什么类型,$(dd1.d2) 这样的语法都无法选择子元素。这个时候,父元素是 div 类型。

那么如果我参照前面的代码,把父元素改成 form 类型的呢?经过测试,发现父元素必须是 form 类型,子元素必须是有效的表单元素:inputtextareabutton$(dd1.d2) 这样的语法才能选中子元素。也就是文章中的第二张图。

这个时候,自己又看了看第一张图中的第三行代码:form.tweet,这就完全是原生 JS 的用法了,既然这种语法也是有效的,那么是不是就意味着:在原生 JS 中,如果变量 dd1form 类型的 DOM 元素,其子元素是有效的表单元素,并且子元素指定 name 属性值为 d2 的话,就能用 dd1.d2 这种语法选择子元素?测试了一下,果然如此!

再拓展一下,如果多个子元素具有相同的 name 属性值,那么用上面的代码,应该会选中所有这些元素吧?嗯,果然是这样。

好了,短短的两行代码,花了自己一上午才研究清楚,也是蛮有意思的,哈哈。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92459.html

相关文章

  • 【用故事解读 MobX 源码(五)】 Observable

    摘要:前言初衷以系列故事的方式展现源码逻辑,尽可能以易懂的方式讲解源码本系列文章用故事解读源码一用故事解读源码二用故事解读源码三用故事解读源码四装饰器和用故事解读源码五文章编排每篇文章分成两大段,第一大段以简单的侦探系列故事的形式讲解所涉及人物场 ================前言=================== 初衷:以系列故事的方式展现 MobX 源码逻辑,尽可能以易懂的方式...

    leeon 评论0 收藏0
  • Python列表和Dictionary简介

    摘要:如果没有,请记住列表中的第一项是项。通过练习,您将更好地计算列表中的项目。例如,要将项添加到我们的水果列表中,我们可以使用名为的方法。通过这样做,该项目的值也将被删除。在中,这意味着使用以及名称和要删除的项目的名称。 showImg(https://segmentfault.com/img/remote/1460000019177365?w=852&h=479); 来源 | 愿码(C...

    dunizb 评论0 收藏0
  • Python: 今天你赋值了吗?

    摘要:没想到会被转发。看来眼球多了的确容易纠错。有时候你已经用它写了数万行代码,自以为很熟了。赋值最简单的赋值到底发生了什么呢一个变量被赋值了太笼统了吧。也就是说是把同一个对象传给了。这里,所绑定的对象的确被传进来了,的确生成了一个新对象。 [EDIT] 没想到会被转发。很高兴也很囧。看来眼球多了的确容易纠错。要小心啊小心。 编程语言就是这样。有时候你已经用它写了数万行代码,自以为很熟了。知...

    z2xy 评论0 收藏0
  • 阿里 Java 手册系列教程:为啥强制子类、父类变量名不同?

    摘要:所以看出和两个的对应指针数一样,一个为一个为这就引出了变量的知识点,如手工画的图二为啥强制子类父类变量名不同阿里巴巴手册是这样写的强制避免在子父类的成员变量之间或者不同代码块的局部变量之间采用完全相同的命名方式,那会导致代码可读性降低。 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 目录 父子...

    XGBCCC 评论0 收藏0
  • 如何做好年中/年终报告?

    摘要:汇报的时间汇报时间一般在分钟分钟左右,如果分钟,最好不要超过页分钟不要超过页。报告的标注结构非一般的贡献机会战略如何知道老板关注什么每两个月找老板沟通,把你最近做的事情放在发生以前讲讲机会,挑战,战略,风险,试探的问哪几个点比较重要。 汇报的时间 汇报时间一般在10分钟~15分钟左右,如果10分钟,最好不要超过10页PPT, 15分钟不要超过15页PPT。70%的时间讲完核心故事, 如...

    zhouzhou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<