javascript - 如何使用 JavaScript 获取元素的 HTML?

标签 javascript html

我想获取我想要的元素的确切 HTML

就像我有这个:

<div class="input">
  <input type="number" id="nanometer" autocomplete="off" class="field" placeholder="nm" oninput="exchange()">
</div>

我想在我的 JavaScript 中获取准确的 HTML 代码:

var nano = document.getElementById("nano")

现在我期望 nano 是:

<input type="number" id="nano" autocomplete="off" class="field" placeholder="nm" oninput="exchange()">

对于我的工作,我必须让它像这样复制自身:

<input type="number" id="nano" autocomplete="off" class="field" placeholder="nm" oninput="exchange()">
<input type="number" id="nano" autocomplete="off" class="field" placeholder="nm" oninput="exchange()">

通过这段代码:

document.getElementById(nano).outerHTML += nano

但它不会工作

最佳答案

虽然问题是使用 HTML 字符串进行克隆,但最好不要使用 HTML 字符串,而是使用 DOM 元素。这些是浏览器内部使用的对象。

使用 DOM 元素可以更容易地控制结果,尤其是。如果您需要对新项目进行更改 - 例如为其指定一个新的 id,这是强制性的,因为每个 id 每个页面都应该是唯一的。

这是一个例子:

var nano = document.getElementById("nano");
var parent = nano.parentNode;

var clone = nano.cloneNode(true);
clone.id = "newNano";
clone.setAttribute("value", 123);

parent.insertBefore(clone, nano.nextSibling);
<input type="number" id="nano" autocomplete="off" class="field" placeholder="nm" oninput="exchange()">

关于javascript - 如何使用 JavaScript 获取元素的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60045317/

相关文章:

javascript - d3.js v4 d3.zoom 和缩放或平移后奇怪的元素顺序

javascript - 如何在 Node js 中使用 bitcoinjs-lib 接收比特币支付

javascript - Bootstrap 中的类 FORM-CONTROL 在数据表中使用时不会生效

php - 如何通过 HTML 表单发送 PHP 数组(使用 input 标签)

javascript - 在 C 中编码 Huffman 并在 javascript 中解码

javascript - 从 Ext.JS 按钮中删除右填充

html - 为此按钮创建渐变

css - 如果窗口宽度比其余内容窄,div 不会拉伸(stretch)页面的 100% 宽度

javascript - 如何在 HTML 中的一个样式表中添加多个配色方案?

javascript - 表单的进度条