我正在测试什么样的标签,无论是“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的原型,但它永远不会识别它。
答案 0 :(得分:0)
{{asset('path/to/css')}}
是self
个对象。您的字符串对象是window
。要获取该字符串对象的值,您必须使用this
或valueOf
方法:
toString
注意:也许您希望在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");
}
// ...
}
上使用.toUpperCase
,然后再将其与那些未经验证的标记名称字符串进行比较,以防它们被小写。
答案 1 :(得分:0)
self
没有标记的引用,您应该使用this
而获取toString
结果
if(this.toString() === "P"){
console.log("Output: I'm a paragraph");
}
我已经为你更新了js小提琴:https://jsfiddle.net/xg342n6w/15/。
我希望它有所帮助,一切顺利!