JavaScript HTML元素到DOM选择器
我有一个函数,它需要一个HTML元素来对其执行操作。我请求DOM选择器作为参数JavaScript HTML元素到DOM选择器,javascript,Javascript,我有一个函数,它需要一个HTML元素来对其执行操作。我请求DOM选择器作为参数 功能(document.body) 其中元素是DOM查询,但在函数的其他地方,我需要查询作为字符串。是否可以将对象转换为其原始字符串类型?如果是这样,怎么做?你可以反过来做。向函数传递选择器字符串: functionName('body') 然后使用以下命令检索相关的DOM元素: 要获取元素的HTML字符串,请使用“innerHTML” 临时家长: var div = document.createElement(
功能(document.body)代码>
其中元素是DOM查询,但在函数的其他地方,我需要查询作为字符串。是否可以将对象转换为其原始字符串类型?如果是这样,怎么做?你可以反过来做。向函数传递选择器字符串:
functionName('body')
然后使用以下命令检索相关的DOM元素:
要获取元素的HTML字符串,请使用“innerHTML”
临时家长:
var div = document.createElement("div");
将所需元素附加到父元素:
div.appendChild(document.body);
测试结果:
alert(div.innerHTML);
如果试图获取“querySelector()”的结果元素的字符串:
临时父级确保返回元素的标记。否则,您将只获取其子元素的字符串。如果要使用“querySelectorAll()”,只需在返回的节点数组上循环即可。在我看来,您使用的方法不会始终如一地产生正确的结果
传入元素意味着必须事先找到该元素,并且实际上会由于缺少信息而阻止找到其他类似位置的元素
传入选择器是一个选项,如果需要查找一组类似的元素,但有时选择器太复杂,无法放在一个字符串中,例如,如果它需要筛选或其他度量,则可以继续使用该选项
在处理复杂的元素选择器或位置时,最好接受一个回调函数,该函数返回所需的元素或元素集。如果是基本元素,它每次都可以简单地返回相同的元素;如果是更复杂的元素,回调可以访问DOM,根据某些度量进行过滤,然后返回有时是理想的子集
回调函数将提供全面的支持,而无需始终转换为查询字符串,这对于复杂的结构来说并不总是可能的。如果我理解您的意思,您可以对此进行更正
function (elem) {
if (typeof elem === 'string' || elem instanceof String) {
elem = document.querySelector(elem);
}
var target = elem.querySelector(...);
}
你有一个预期结果的例子吗?你所说的“原始字符串类型”是什么意思body
是一个DOM元素,没有字符串类型(原始或其他)。你打算用这个字符串做什么?问题是,一个DOM元素可能有几个可能的查询字符串,这些字符串将唯一地返回它。这不是要求的。在我看来,他希望传入一个对象,对其进行操作,然后能够对生成的HTML字符串进行处理。如果你知道对方要求什么,为什么不回答?
div.appendChild(document.body.querySelector('yourClass'));
function (elem) {
if (typeof elem === 'string' || elem instanceof String) {
elem = document.querySelector(elem);
}
var target = elem.querySelector(...);
}