JavaScript 获取 Div 的 ID

标签 javascript

我有一个 div 框及其 id 和一个 textarea。 当我点击我的 div 框时,我应该通过 Javascript 获取 div ID 并将其打印在 textarea 上。我试过了,但没有用。当我单击文本区域时,它显示“未定义”。请帮助我。

代码如下:

<html>
<head>

<script type="text/javascript">
function get_id()
{
    var divEls = document.getElementsByTagName("div");
    var textEl = document.getElementById("mytextarea");
    textEl.value=divEls.id;
}
</script>

</head>
<body>
    <div id="mydiv" onclick="get_id()" style='border-width:1px;border-color:#C0C0C0;border-style: solid;background-color:#C0C0C0;width:130px;height:10px;'>
    </div>

    <textarea id="mytextarea"> </textarea>
</body>
</html>

最佳答案

getElementsByTagName 返回 DOM 节点的 nodeList,其作用类似于数组。

您需要先选择节点列表中的第一项,然后才能访问节点的 ID:

textEl.value = divEls[0].id;

或者,您可以将 this 传递给 get_id():

function get_id(node) {
  var textEl = document.getElementById('mytextarea');
  textEl.value = node.id;
}

onclick="get_id(this)"

但老实说,所有 JavaScript 都应该在您的 HTML 文件之外。 HTML属于.html文件,CSS属于.css文件,JS属于.js文件。

//i haven't checked this code, and you probably want to modify it to be more generic.
window.onload = function () {
  var myDiv, myTextArea;
  myDiv = document.getElementById('mydiv');
  myTextArea = document.getElementById('mytextarea');
  myDiv.onclick = function () {
    myTextArea.value = myDiv.id;
  };
};

关于JavaScript 获取 Div 的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8313833/

相关文章:

Javascript高度和媒体查询同时进行

javascript - 如何在 Jasmine.js 中编写场景

javascript - 如何添加 object-fit :cover style to IE browser?

javascript - 选择 Array 中给定索引任一侧最近的 2 个元素

javascript - 在调整大小时保持网站布局(使用 javascript 同时调整所有元素的大小?)

javascript - React - 从 props 调用函数

javascript - 带有 owl 轮播和 Jquery UI 的可拖动事件

javascript - ES6 模块 + 揭示模块模式

javascript - 在 Javascript(或 Node)中,如何识别函数的参数?

javascript - 使用 jQuery 根据输入值为子元素添加类