javascript判断参数是否为dom元素

需求场景:     有时候需要判断参数传入是否为dom元素,或者需要区分参数是dom元素还是非dom元素,就需要做区分判断。举例:一个扩展方法MyMethod(domArg,optionsArg);参数可以选传入(假设内部均有默认处理),那对于判断参数domArg是否为dom元素就有意义了。

  分析代码如下:

function IsDom(obj){var isDOM = ( typeof HTMLElement === ‘object‘ ) ?
             obj instanceof HTMLElement
                :
             obj && typeof obj === ‘object‘ && obj.nodeType === 1 && typeof obj.nodeName === ‘string‘;

进一步引申:
       有时候传入对象不是obj,而是字符串(例如:id\class等),这个就得对传入参数做预处理。
判断1:

var temp=null;
if(typeof obj===‘string‘){temp=$(obj)[0];}

判断2:
if(typeof obj===‘object‘){tempObj=obj;}

注意,上面两个判断必须在IsDom(obj)方法前执行!

时间: 2024-10-16 16:00:16

javascript判断参数是否为dom元素的相关文章

JavaScript判断数组是否包含指定元素的方法

本文实例讲述了JavaScript判断数组是否包含指定元素的方法.分享给大家供大家参考.具体如下: 这段代码通过prototype定义了数组方法,这样就可以在任意数组调用contains方法 /** * Array.prototype.[method name] allows you to define/overwrite an objects method * needle is the item you are searching for * this is a special variab

Javascript判断参数类型

function (options, param) { alert(typeof options); if (typeof options == "string") { alert("字符串"); } if (typeof options == "number") { alert("数字"); } }

JQuery动画——.trim()去空格、.get()和.index()获取DOM元素

.trim()去空格..get()和.index()获取DOM元素 1   .trim()函数用于去除字符串两端的空白字符,没有多余的参数用法 2   移除字符串开始和结尾处的所有换行符,空格(包括连续的空格)和制表符(tab),如果这些空白字符在字符串中间时,它们将被保留,不会被移除3   .get()获取DOM元素,通过已知的索引在合集中找到对应的元素4   get获取dom对象,通过document.getElementById获取的对象,从0开始索引,如找到第二元素,可以传递 $(a).

JavaScript获取DOM元素位置和尺寸大小

在一些复杂的页面中经常会用JavaScript处理一些DOM元素的动态效果,这种时候我们经常会用到一些元素位置和尺寸的计算,浏览器兼容性问题也是不可忽略的一部分,要想写出预想效果的JavaScript代码,我们需要了解一些基本知识. 基础概念 为了方便理解,我们需要了解几个基础概念,每个HTML元素都有下列属性 offsetWidth clientWidth scrollWidth offsetHeight clientHeight scrollHeight offsetLeft clientL

【温故而知新-Javascript】为DOM元素设置样式

1. 使用样式表 可以通过document.styleSheets属性访问文档中可用的CSS样式表,它会返回一组对象集合,这些对象代表了与文档管理的各个样式表. 每个样式表 都由一个CSSStyleSheet 对象代表,它提供了一组属性和方法来操作文档里的样式. 1.1 获得样式表的基本信息 第一步是获得定义在文档中的样式表的一些基本信息. <!DOCTYPE html> <html lang="en"> <head> <meta charse

JavaScript HTML DOM 元素(节点)

JavaScript HTML DOM 元素(节点) 创建新的 HTML 元素 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素. 实例 <div id="div1"><p id="p1">This is a paragraph.</p><p id="p2">This is another paragraph.<

(13)JavaScript之[HTML DOM元素][JS对象]

元素 1 /** 2 * HTML DOM 元素(节点)*/ 3 4 //创建新的HTML元素 5 var para = document.createElement('p'); 6 var node = document.createTextNode('这是一个新段落'); 7 para.appendChild(node); 8 9 var box = document.getElementById('box'); 10 box.appendChild(para); 11 12 //删除已有的

javascript 判断str日期是否是今天,参数diff

function isToday(str) { var d = new Date(str.replace(/-/g, "/")); var todaysDate = new Date(); if (d.setHours(0, 0, 0, 0) == todaysDate.setHours(0, 0, 0, 0)) { return true; } else { return false; } } by default7#zbphp.com 自己修改,增加diff参数. diff为天数

javascript通用参数判断

//判断value是小于等于max的数字function isNumberMax(value, max){    if(!isNumber(value) || !isNumber(max)){        return false;    }    if(parseInt(value) <= max){        return true;    }    return false;} //判断value是大于等于min的数字 function isNumberMin(value, min)