Javascript 检索HTML标记full';签名';
代码如下:Javascript 检索HTML标记full';签名';,javascript,jquery,html,google-chrome,dom,Javascript,Jquery,Html,Google Chrome,Dom,代码如下: parsedHTML = $("<div id=\"foo\">Content</div>"); console.log(parsedHTML); 如何检索第一个参数,它是HTML元素的全名/签名?我的意思是仅仅是字符串,而不是整个HTML代码块?比如: 'div#foo' 我想你想要的签名是:div#someId.someClass1.someClass2 $.prototype.signature = function(){ return this
parsedHTML = $("<div id=\"foo\">Content</div>");
console.log(parsedHTML);
如何检索第一个参数,它是HTML元素的全名/签名?我的意思是仅仅是字符串,而不是整个HTML代码块?比如:
'div#foo'
我想你想要的签名是:div#someId.someClass1.someClass2
$.prototype.signature = function(){
return this.prop("tagName").toLowerCase()
+(this.attr("id") ? "#"+this.attr("id") : "")
+(this.attr("class") ? "."+this.attr("class").split(/\s+/).join(".") : "");
};
// Div with id="foo" and classes: ["bar", "baz"]
$("#foo").signature();
// "div#foo.bar.baz"
如果您只需要标记类型,并且idI真的希望使用JQuery函数,那么请删除最后一个concat部分,但您的答案可以完成所有操作。非常感谢。更新以反映此扩展到您想要的美元-是否有效?这只是ChromeDevTools提供的一种便利;它只是在其中隐藏对DOM元素的引用。但是可以在JS中复制它。
$.prototype.signature = function(){
return this.prop("tagName").toLowerCase()
+(this.attr("id") ? "#"+this.attr("id") : "")
+(this.attr("class") ? "."+this.attr("class").split(/\s+/).join(".") : "");
};
// Div with id="foo" and classes: ["bar", "baz"]
$("#foo").signature();
// "div#foo.bar.baz"