function hideDatePicker(input) { // 获取单元格中的按钮元素 var button = input.nextSibling; // 隐藏input元素 input.style.display = "none"; // 显示按钮 button.style.display = "block"; // 将单元格的值替换为选择的日期 input.parentNode.innerHTML = input.value; } 这段代码执行后,日期选择器隐藏了,但是日期没有替换到单元格里
时间: 2023-06-20 19:04:24 浏览: 40
这是因为在替换单元格的innerHTML时,只替换了input元素所在的单元格,而按钮元素所在的单元格并没有被替换。需要将按钮元素的父节点也替换掉,代码如下:
```
function hideDatePicker(input) {
// 获取单元格中的按钮元素
var button = input.nextSibling;
// 隐藏input元素
input.style.display = "none";
// 显示按钮
button.style.display = "block";
// 将单元格的值替换为选择的日期
var cell = input.parentNode;
cell.innerHTML = input.value;
cell.appendChild(button);
}
```
这样就可以将按钮元素也替换掉,从而实现日期的替换。
相关问题
function hideDatePicker(input) { // 获取单元格中的按钮元素 var button = input.nextSibling; // 隐藏input元素 input.style.display = "none"; // 显示按钮 button.style.display = "block"; // 将单元格的值替换为选择的日期 input.parentNode.textContent = input.value; }
这是一个 JavaScript 函数,用于隐藏日期选择器并将选择的日期显示在单元格中。
函数接受一个 input 参数,代表日期选择器的输入框元素。首先,获取该元素后面的按钮元素,然后将输入框元素隐藏,按钮元素显示。最后,将单元格的值替换为选择的日期。
需要注意的是,这个函数假设该输入框元素的父元素是单元格元素,因为最后将单元格的值替换为选择的日期。如果父元素不是单元格元素,可能会出现错误。
this.parentNode.nextSibling.nextSibling;举例说明这段代码取得元素
这段代码是用于获取当前节点的下一个兄弟节点的下一个兄弟节点,也就是当前节点的第二个兄弟节点。具体来说,这段代码应该是在一个节点的事件处理函数中被调用的,如下所示:
```javascript
function handleClick(event) {
// 获取当前节点的下一个兄弟节点的下一个兄弟节点
var nextNextSibling = this.parentNode.nextSibling.nextSibling;
// 对获取到的节点进行操作
// ...
}
// 给某个节点绑定事件处理函数
var node = document.getElementById('some-node');
node.addEventListener('click', handleClick);
```
在这个例子中,当用户点击某个节点时,会触发 `handleClick` 函数,函数中的 `this` 指向当前被点击的节点。通过 `this.parentNode` 可以获取到当前节点的父节点,然后再调用 `nextSibling` 获取到当前节点的下一个兄弟节点,最后再调用一次 `nextSibling` 就能获取到当前节点的第二个兄弟节点,也就是 `nextNextSibling`。