javascript - 当元素为标签 x 时如何执行功能

标签 javascript html dom

我正在测试某个东西是什么类型的标签,无论是“IMG”、“H1”等。 我似乎无法让这段代码为我工作,不确定我哪里出错了。

    String.prototype.addFormElement = function(){


    if(self == "P"){
        console.log("I'm a paragraph");
    }
    else if(self == "IMG"){
        console.log("I'm a iamge");
    }
    else if(self == "A"){
        console.log("I'm a link");
    }
    else if(self == "H1" || 
                    self == "H2" || 
                    self == "H3" || 
                    self == "H4" || 
                    self == "H5" || 
                    self == "H6"){
        console.log("I'm a header");
    }
    else if(self == "TABLE"){
        console.log("I'm a table");
    }
    else if(self == "UL" || 
            self == "OL" || 
            self == "LI"){
        console.log("I'm a list");
    }
    else if(self == '#text'){
        console.log("shoot me");
    }
    else{
        console.log("Not recognize");
    }

    return 0;

}

//==============================================================================

//=============================================================================

    var ezgrp = document.getElementsByClassName("ez-group");


    for(var i = 0;i<ezgrp.length;i++){

        let ezchild = ezgrp[i].childNodes;


        for(var j = 0;j<ezchild.length;j++){

            var plz = "" + ezchild[j].nodeName.toString();
            plz.addFormElement();

        }
    }

这是 JSFiddle

https://jsfiddle.net/xg342n6w/13/

无论它返回“未识别”

我将它转换为字符串,该函数是 String 的原型(prototype),但它永远无法识别它。

最佳答案

selfwindow 对象。您的字符串对象是 this。要获取该字符串对象的值,您必须使用 valueOftoString 方法:

String.prototype.addFormElement = function() {

    var v = this.valueOf(); // get the value of this string

    if(v === "P"){
        console.log("I'm a paragraph");
    }
    else if(v === "IMG"){
        console.log("I'm a iamge");
    }
    // ...
}

注意:也许您想在 v 上使用 .toUpperCase,然后再将其与那些大写的标签名称字符串进行比较,以防它们是小写的.

关于javascript - 当元素为标签 x 时如何执行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43686627/

相关文章:

javascript - 如何通过点击导航栏中的相应内容来逐一调用多个html页面?

javascript - 从字符串中提取多个参数并执行某些操作

javascript - 如何为 JavaScript 中的多个按钮添加事件监听器?

JavaScript 循环到 DOM

javascript - 当 Electron 应用程序打包在 asar 中时使用 require

html - 隐藏元素,但显示 CSS 生成的内容

javascript - 使用 Javascript 通过按钮更改网页上的文本

javascript - 如果父级具有 onclick 绑定(bind),则复选框单击将被忽略

javascript - 使用 forEach 方法修改 dom 元素

jquery - 检查多个类元素的可用性