- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看到了很多关于这种模式的帖子,但仍然不明白为什么它在我的代码中不起作用。在 Ubuntu 10.04 上使用 Chromium。
function showDescription(){
var description = document.createElement('div'),
eventTarget = window.event.target,
newHTML = description.innerHTML;
description.id = 'description';
switch(eventTarget.getAttribute('data-par')){
case 'links': newHTML = newHTML.replace(newHTML, 'links')
break;
case 'images': newHTML = newHTML.replace(newHTML, 'images')
break;
};
console.log(newHTML);
parentElement.insertBefore(description, parentElement.firstChild.nextSibling);
};
var descParLi = descPars.getElementsByTagName('li');
for (var i = 0; i < descParLi.length; i++){
descParLi[i].addEventListener("click", showDescription);
};
此代码包含在其他函数中。奇怪的是,在控制台中我看到了 newHTML 的值,但在 html 中没有任何变化,这是一个问题。怎么了?如何修复?
最佳答案
您没有将内容添加到您创建的实际 div
中。
switch(eventTarget.getAttribute('data-par')){
case 'links': description.innerHTML = 'links'
break;
case 'images': description.innerHTML = 'images'
break;
};
console.log( description.innerHTML );
这样做没有意义:
newHTML = description.innerHTML
...或:
newHTML.replace(newHTML, 'images')
...因为description
是一个全新的元素,所以还没有任何innerHTML内容。
编辑: 我使用 div
而不是上面的变量名称的 description
。它应该使用 description
代替:
description.innerHTML = 'xxxxx'
已修复。
这是整个函数:
var i = 0;
function showDescription(){
var description = document.createElement('div'),
eventTarget = window.event.target;
description.id = 'description' + i; // <-- make the ID unique
i++; // <-- increment "i" so that it's different on the next run
switch(eventTarget.getAttribute('data-par')){
case 'links': description.innerHTML = 'links'
break;
case 'images': description.innerHTML = 'images'
break;
};
console.log( description.innerHTML );
// v----What is parentElement supposed to reference?
parentElement.insertBefore(description, parentElement.firstChild.nextSibling);
}
请注意,我添加了一个递增的 i
,以便您的 ID 每次都是唯一的。
如果您要在显示另一个元素之前删除该元素,则无需执行此操作。
此外,您还有一个 parentElement
。我不知道这应该引用什么。
如果未显示某个适当的变量,那么就可以了,但如果它应该是对目标
的父级的引用,那么您应该这样做:
target.parentNode.insertBefore(description, target.parentNode.firstChild.nextSibling);
关于javascript - insideHTML 替换模式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6724805/
在注册表中,我有 php 验证密码并将消息“good”发送回 div“password_feedback”。在if语句中,如果password_feedback ==“good”,则在“check”d
您好,我正在尝试更新以下脚本的innerHTML Your submission was successful. 我已经尝试过以下 var cls =document.getElementB
在我的脚本中 node1.data 和 node1.textContent 工作正常,但 node1.innerHTML 没有显示任何内容,我不明白为什么。 var text = []; functi
有谁知道如何从 IFRAME 中获取 HTML 我尝试了几种不同的方法: document.getElementById('iframe01').contentDocument.body.innerH
这是一个非常简单的程序,输出应该是 JavaScript,但我只得到 s。 document.getElementById("ma"
我有一个带有innerhtml函数的javascript代码,就像这样 var x = document.getElementById("gps"); function getLocation()
我正在使用 html 和 js,并且我想在用户单击某些内容时显示一段 html 代码。代码有点大,因此使用 document.getElementById("display").innerHTML =
我似乎无法使用innerHTML 在计算器下方显示答案。我以前曾使用警报框进行此操作,但理想情况下我想直接写入文档,以便可以包含链接和格式。 我成功地使用了下面的方法,并使用了一个不太复杂的脚本,该脚
我看到了很多关于这种模式的帖子,但仍然不明白为什么它在我的代码中不起作用。在 Ubuntu 10.04 上使用 Chromium。 function showDescription(){ va
我有一段代码,可以将 div 标签的内部 HTML 更改为状态消息,它包含在 try 方法中,唯一的问题是状态保持可见约 3 秒,然后消失。我认为这是由于 try 方法造成的,有什么办法可以阻止这个吗
我想避免每次想要更改时都必须在 5 个不同的页面上制作菜单。因此,我使用 Javascript 在运行时重新创建菜单,这样我只需更改该脚本即可立即在所有页面上更改菜单(我知道,天才吧?)。 但事情是这
我想从 API 中获取每个元素并将其显示在不同的类中。我在控制台中得到结果,但在页面上没有得到结果。请帮帮我。预先感谢您:) . 我已经将 JavaScript 与 Jquery 结合使用。 $.g
我对 JavaScript 还很陌生。我正在尝试在 的顶部添加一个 div 。但由于某种原因,它将我的代码添加为这样的文本 这是我目前的代码。 function addDark() { docu
function startMatch(deck, dealer, player){ var dealerX = document.querySelector('#player:first-c
我对innerHTML的理解并不完全清楚,所以我遇到了一些麻烦。 这会产生表外的所有 td。我做错了什么? var list = document.getElementById("procTable"
不确定这是否很奇怪或者只是我很愚蠢,但我在 JavaScript innerHTML 中遇到了问题。好的,我的 body 标签中有一个空的 DIV。我想要的是在其中写一个无序列表。所以,我做了这个:
我正在使用谷歌地图 API。当用户移动 map 上的标记时,提交按钮将从禁用状态更改为禁用状态。它将按钮从禁用状态更改为禁用状态,但我无法提交表单。什么也没发生。
我试图将我在文本输入中输入的所有内容大写,js 上的 caps 函数工作正常,我可以在控制台上看到,但 insidehtml 函数不会更改 html 文件 function clr() { doc
这个问题已经有答案了: Why does jQuery or a DOM method such as getElementById not find the element? (7 个回答) 已关闭
我正在为考试尝试一些东西,但无法使其发挥作用。这真的很简单,我不明白为什么不起作用。 Exercici 2 //rep 2 paràmetres d'entra
我是一名优秀的程序员,十分优秀!