`
zhangyaochun
  • 浏览: 2622491 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

jQuery源码浅谈系列---$.nodeName(你没见过?)

阅读更多

 

最近做富文本编辑器调研的时候看到xheditor的源码的时候觉得有点东西简单地说说。

 

第一个:我们判断this对象是否是textarea

 

 

/*
截取部分
*/
$.fn.xheditor  = function(options){
     
       this.each(function(){
             //解释一下吧
            //第一你可能用jQuery用到现在第一次见nodeName这个api
            //确实在一些api的chm里面是没有这个api的介绍的
            //不过不要担心我下面会介绍这个api
            //其实就是判断当前绑定的对象是否是textarea
             if(!$.nodeName(this,'TEXTAREA')){
                  return;
             }
       });

}

 

 

 看到这里,如果你以前写过或者看过类似textarea自适应的相关插件或者有点基础的人,你会觉得是不是这样就可以了

 

 

/*
截取部分
*/
$.fn.xheditor  = function(options){
     
       this.each(function(){  //直接读type属性
             if(this.type !== 'textarea'){
                  return;
             }
       });

}

 

 

好。我们来看看$.nodeName这个api吧。

 

ps:如果我面试的话,谁要告诉我他用了好几年jQuery而且通读源码的话,但是连$.nodeName多不知道,我是觉得NO ok的。

 

 

/*
nodeName
@param elem ------elem对象
@param name -----指定匹配的nodeName
*/
nodeName : function(elem,name){
    //elem存在nodeName的属性而且转换大写后指定的name是一致的
    return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
}

 

 

或者你现在还不知道什么事nodeName或者nodeType或者nodeValue.不要紧,不知道我一一给你道来。

 

1.    nodeType ------返回节点的类型

 

简单地举出常见的:

 

 

元素类型 节点类型
元素 1
属性 2
文本 3
注释 8
文档 9

 

 

2.    nodeName ---返回某个节点的名称

 

 

  • 元素节点的nodeName是标签名称
  • 属性节点的nodeName是属性名称
  • 文本节点的nodeName永远是 #text
  • 文档节点的nodeName永远是 #document
注释: nodeName所包含的XML元素的标签名称永远是大写。
 
 
3.    nodeValue
 
  •    文本节点,nodeValue属性包含文本
  •    属性节点,nodeValue属性包含属性值
  •    对文档节点和元素节点不可用
    
 
2
1
分享到:
评论

相关推荐

    图形jquery.gvChart-1.0.1.min.js

    o instanceof Node : o && typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName === "string"); } $.print = $.fn.print = function () { // Print a given set of elements var ...

    postgres-xl数据库集群安装部署说明手册

    TO NODE (nodename1, nodename2); ``` - **HASH**: 按照指定列的哈希值进行数据分布。 - **MODULO**: 按照指定列的取模结果进行数据分布。 - **ROUNDROBIN**: 按照轮询方式进行数据分布。 - **REPLICATION**: 复制...

    information-source-for-the-host.rar_The Information_主机基本信息

    "information-source-for-the-host.rar_The Information_主机基本信息"这个压缩包文件提供了获取这些信息的源码,帮助开发者或系统管理员了解主机的硬件和操作系统状态。下面我们将详细探讨其中涉及的关键知识点。 ...

    jquery需要的所有js文件

    jquery需要的所有js文件 /*! * jQuery UI 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * ...

    simple-XML-Class-test.rar_simple-xml_xml

    2. **创建节点**:`createNode(String nodeName, String nodeContent)` - 创建具有指定名称和内容的新节点。 3. **添加节点**:`appendNode(Node parentNode, Node newNode)` - 将新节点添加到父节点的子节点列表中...

    Itanium-JDK-6.0.37-June-2018-Z7550-63475-jdk6-16037-ia.depot

    Nodename: localhos Release: HP-UX B.11.31 Machine: ia64 -------------------------- CPU info: 2 Intel(R) Itanium 2 9100 series processors (1.59 GHz, 18 MB) 532 MT/s bus, CPU version A1 4 logical ...

    Itanium-JDK-8.0.18-June-2019-Z7550-96733-java8-18018-ia.depot

    Nodename: localhos Release: HP-UX B.11.31 Machine: ia64 -------------------------- CPU info: 2 Intel(R) Itanium 2 9100 series processors (1.59 GHz, 18 MB) 532 MT/s bus, CPU version A1 4 logical ...

    4月15日-5 Pod生命周期管理.pdf

    Pod是Kubernetes中的基本部署单位,而Pod的生命周期管理是指一系列操作,这些操作确保Pod从创建到终止的整个过程按照预期运行。Kubernetes提供了声明式的API来管理Pod的生命周期,以便用户能够控制应用程序的部署和...

    Python解析网页-XPath和requests-html.xmind

    nodeName 选取此节点的所有子节点 / 从当前节点选择直接子节点 // 从当前节点选择子孙节点 . 当前节点 .. 选取当前节点的父节点 @ 获取属性 高级用法说明 选择特定...

    QSDK(openWRT)网页hostinfo取值简析.pdf

    - 在etc/config/system配置文件中可以设置主机名,而sys.lua源码文件中定义了hostname函数,该函数读取系统的nodename,即设备的名称。 2. **系统负载的获取和显示**: - 系统的负载平均值(load1、load5、load15...

    Web前端开发技术-节点和节点的操作.pptx

    每个节点都有特定的属性,如nodeType表示节点类型(1代表元素节点,2代表属性节点,3代表文本节点),nodeName是节点名称,nodeValue则为节点的值。 对于节点的操作,主要涉及以下几个方面: 1. **节点层级**:...

    C#函数方法集

    根据提供的文件信息,我们可以整理出一系列与C#编程语言相关的知识点。这些知识点主要涉及日期时间操作、字符串处理、数据类型转换、XML文档操作以及其他一些实用的功能。下面是详细的知识点总结: ### 一、日期...

    my97日历控件

    G.el.nodeName:"INPUT";if(_||G.eCont||new RegExp(/input|textarea|div|span|p|a/ig).test(D))G.elProp=D=="INPUT"?"value":"innerHTML";else return;if(G.lang=="auto")G.lang=S?navigator.browserLanguage....

    XML应用开发(软件品牌)-1期 第6单元 单元测试卷-使用DOM解析XML文档.doc

    2. XML DOM的节点信息不包括**C、nodeValueName**,正确的应该是`nodeName`和`nodeValue`。 3. 正确加载XML文档的语句是**A、xmlDoc.load("books.xml");**。 4. `x.setAttribute("category","child")`中,"category...

    计算机软件-商业源码-获取计算机名.zip

    在IT领域,源码软件指的是可以查看和修改的原始编程代码,这与封闭源码的商业软件形成对比。"获取计算机名"这个主题涉及到的是操作系统编程中的一个常见任务,即如何通过程序来获取运行该程序的计算机的名称。在...

    linux,AIX,HP-UNIX彻底删除crs

    - `srvctl stop nodeapps -n nodename` **步骤二:删除 CRS 自动启动程序** 此步骤包括删除与 CRS 相关的系统启动脚本和服务文件。 - **Linux:** - `rm /etc/oracle/*` - `rm -f /etc/init.d/init.cssd` - `...

    课题-js和jquery获取父级元素、子级元素、兄弟元素的方法.docx

    例如,如果你有一个jQuery对象 `$element`,你可以这样获取父元素、子元素和兄弟元素: ```javascript var $element = $('#test'); var $parent = $element.parent(); // 父元素 var $children = $element....

    XML应用开发(软件品牌)-1期 第6单元 单元测试卷答案-使用DOM解析XML文档.doc

    每个节点都有相应的属性,如`nodeName`、`nodeValue`、`nodeType`和`nodeTypeString`。 - `nodeName`:返回节点的名称,例如元素节点的标签名。 - `nodeValue`:返回或设置节点的值,对于元素节点,通常为空;...

    tasty-kube:Kubernetes测试脚本

    namespaces -o=custom-columns=NAME:.metadata.name,NAMESPACE:.metadata.namespace,NODE:.spec.nodeName --sort-by=.spec.nodeName常问问题failed to create sandbox意味着kubelet无法启动暂停容器,或者CNI开始...

    jquery解析XML及获取XML节点名称的实现代码

    jquery获取XML节点名称的几种方法以: • get(0).tagName $(this).get(0).tagName • [0].tagName[0] $(this)[0].tagName • context.nodeName $(this).context.nodeName function getXMLData(){ $.ajax({ url:'...

Global site tag (gtag.js) - Google Analytics