我想编写一个jquery函数,它接受一个dom元素或它的id作为输入:
function myfunction(myinput){
// pseudocode:
// if (myinput is dom element){
// var myID = $(myinput).attr('id');
// } else {
// var myID = myinput;
// }
// Do stuff with myID ...
}
Run Code Online (Sandbox Code Playgroud)
问题:如何判断myinput是否为dom元素?
Tom*_* Tu 21
反过来检查更容易 - 检查它是否是一个字符串,如果是这样,使用它来获取ID,否则将其视为DOM节点/元素并将其处理为就像它一样.
function myfunction(myinput) {
var myId;
if (typeof myinput == 'string'){
myId = myinput;
} else {
myId = myinput.id; // myinput.id is enough
}
// do something
}
Run Code Online (Sandbox Code Playgroud)
或者如果你真的要检查它是否是HTMLElement,那么每个DOM html元素都会扩展HTMLElement抽象接口.检查MDC以获取有关HTMLElement的更多信息.
...
if (myinput instanceof HTMLElement){
myId = myinput.id; // myinput.id is enough
} else {
myId = myinput;
}
...
Run Code Online (Sandbox Code Playgroud)
最后它真的不重要......你的电话!
汤姆
您可以像这样实现您的功能:
function myfunction(myinput){
if (myinput.nodeType){
var myID = $(myinput).attr('id');
} else {
var myID = myinput;
}
// Do stuff with myID ...
Run Code Online (Sandbox Code Playgroud)
}
有关nodeType的更多信息.
| 归档时间: |
|
| 查看次数: |
10392 次 |
| 最近记录: |