Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将元素、id和类从DOM节点元素提取为字符串_Javascript_Html - Fatal编程技术网

Javascript 如何将元素、id和类从DOM节点元素提取为字符串

Javascript 如何将元素、id和类从DOM节点元素提取为字符串,javascript,html,Javascript,Html,我想知道如何从元素中提取DOM树字符串 假设我有这个HTML结构: 一些内容 运行outerHTML或等效程序并提取标记、id和类时: document.querySelectorAll'.item'[0].outerHTML; //然后提取我需要的东西 //它应该输出。。。 'li.list.item' 或 document.querySelectorAll'unordered'[0].outerHTML; ... //它应该输出。。。 “乌鲁诺德” 基本上,它是元素的DOM树表示 另外,请随

我想知道如何从元素中提取DOM树字符串

假设我有这个HTML结构:

一些内容 运行outerHTML或等效程序并提取标记、id和类时:

document.querySelectorAll'.item'[0].outerHTML; //然后提取我需要的东西 //它应该输出。。。 'li.list.item' 或

document.querySelectorAll'unordered'[0].outerHTML; ... //它应该输出。。。 “乌鲁诺德” 基本上,它是元素的DOM树表示

另外,请随意建议一个更好的替代方案,即outerHTML

感谢您抽出时间

您可以访问这些属性

element.nodeName.toLowerCase将为您提供标记 element.id将为您提供id element.className将为您提供这些类 element.attributes将为您提供属性 element.dataset将为您提供数据属性 您可以使用它们来格式化所需的选择器字符串,这些字符串具有您可以访问的属性

element.nodeName.toLowerCase将为您提供标记 element.id将为您提供id element.className将为您提供这些类 element.attributes将为您提供属性 element.dataset将为您提供数据属性
您可以使用它们来格式化所需的选择器字符串

我对此做了一些小的工作,希望这会有所帮助,不确定这是否是最好的方法,但仍然有效

注意:这将返回所有属性值,请确保更改此逻辑以获得结果

函数getAttrsidentifier{ 如果!返回标识符 常量元素=document.querySelectoridentifier if元素{ 让输出=element.localName 对于element.attributes中的常量attr{ 如果element.attributes.hasownPropertyAtr{ 常量属性=元素属性[attr] 如果attribute.localName==='id'{ 输出+=+属性值 }如果attribute.localName=='class'{ 输出+='.+attribute.value.replace//g'.' } } } 返回输出 } } console.loggetAttrs'.list' 控制台。loggetAttrs'unordered' 一些内容
我做了一个小的工作围绕这一点,希望这有帮助,不知道这是最好的方法,但工作

注意:这将返回所有属性值,请确保更改此逻辑以获得结果

函数getAttrsidentifier{ 如果!返回标识符 常量元素=document.querySelectoridentifier if元素{ 让输出=element.localName 对于element.attributes中的常量attr{ 如果element.attributes.hasownPropertyAtr{ 常量属性=元素属性[attr] 如果attribute.localName==='id'{ 输出+=+属性值 }如果attribute.localName=='class'{ 输出+='.+attribute.value.replace//g'.' } } } 返回输出 } } console.loggetAttrs'.list' 控制台。loggetAttrs'unordered' 一些内容
使用所有当前属性或仅id和类?为什么要使用querySelectorAll方法获取唯一id属性的引用?是否要求元素的CSS选择器表示?我真的不明白您想要实现什么。使用所有现有的属性还是id和类?为什么您要使用方法querySelectorAll来获取唯一id属性的引用?您是否要求元素的CSS选择器表示?我真的不明白你想达到什么目的。我很喜欢这种方法,到目前为止我还没有测试过,但我可以看到它看起来像我想要的,谢谢!很乐意帮忙!!我非常喜欢这种方法,到目前为止我还没有测试过,但我可以看到它看起来像我想要的,谢谢!很乐意帮忙!!