问题标签 [innerhtml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 访问内容
This javascript snippet just returns an empty string. Is there a way of getting the contents of a noscript node?
p.s. I'm using prototype on this particular project.
javascript - 在 IE 7 中丢失 div 内容中的换行符
我正在尝试在源中的换行符上拆分 div 的 innerText 。这适用于:
但这在 IE 7 中失败了,因为换行符显然被删除了。jQuery 1.3.2 似乎没有错,因为我也尝试了这两种方法:
和
如果我将 div 更改为 pre,则上述任何工作都不会。
看来换行符是一旦源被解析到 DOM 中。:( 是这样吗?有没有办法用javascript来解决它们?
javascript - innerHTML 的替代品?
编辑:哇。这个问题现在已经 12 岁了。
正如有人所说,自 2016 年以来可以使用单线完成:https ://stackoverflow.com/a/69322509/80907
原本的:
我想知道是否有一种方法可以在不使用 innerHTML 的情况下更改 HTML 中任何内容的文本。
我问的原因是因为它有点被 W3C 反对。我知道这是吹毛求疵,但我只想知道,有没有办法?
编辑:人们似乎误解了我在这里问的内容:我想找到一种方法来有效地更改正在显示的文本。
如果我有:
innerHTML 允许我这样做:
我屏幕上的文字也会改变。
我不希望追加更多文本,我希望更改已经存在的文本。
javascript - 您可以使用 jQuery 的 $.load() 函数将表单插入页面吗?
我有一个页面,其中有一个拖放表,其中行的顺序决定了小计的值。然而,它比简单的加法更复杂,我宁愿不复制 JavaScript 中的逻辑来更新值。
一个简单的解决方案是使用 Ajax 重新加载整个页面,然后从通过 Ajax 获取的页面中替换表。也许这不是最优雅的解决方案,但我认为这是完成工作的一种快速方法,目前可以接受。
你可以像这样使用 jQuery 来做到这一点:
但是,我的“简单”解决方案结果并不是那么简单,因为该表还包含一个<form>
未在 Firefox 中显示的标签(Safari 有效)。
当我使用 Firebug 检查页面时,我看到了表单,但它和它的元素是灰色的。
在网上搜索,我发现一个人说 FF3 和 IE从通话中去除标签的帖子相当混乱。<form>
innerHTML
我可能会继续以其他方式执行此操作,但为了我将来的参考,我想知道:是这样吗?
javascript - 如何在 Firefox 中的纯 txt 文件上使用 innerHTML?
如果您在浏览器中打开一个文本文件(.txt、.js、.css、...),它将被包裹在一个漂亮的 DOM 树中。
例如,打开这个 .txt 文件并输入
进入您的地址栏。不错...每个主流浏览器都支持对这个包装的文本文件进行 DOM 操作,这对于编写强大的小书签或用户脚本来说是一件好事。
但是,Firefox 无法分配任何元素的 innerHTML。例如,
将适用于除 Firefox 之外的所有浏览器。
有解决此问题的技巧吗?
(不,我不想手动解析 innerHTML 字符串,不,它也不适用于 jQuery。)
javascript - JavaScript 文本节点更新
如果我有一个
是否可以简单地更新内容t
?
我想在parent
不使用removeChild
,createTextNode
和的情况下更改里面的文本appendChild
。为什么我需要这个而不是仅仅使用innerHTML
?因为我不想用 HTML 代码更新元素的内容,并且text
可能包含特殊字符,例如应该由TextNode
DOM 方法解析的 < 或 &。
谢谢,
汤姆
javascript - 使用 innerHTML.replace 替换文本以创建链接
我正在使用 Sharepoint (WSS 3.0),不幸的是,它在格式化调查问题的能力方面非常有限(即,它会删除您输入的任何 HTML)。我在其他地方看到了一个解决方案,建议我们在母版页文件中添加一些 JS 以允许换行。这很好用,但我想看看我们是否也可以允许链接。
在我们的 WSS 调查中,我现在可以在任何需要换行符的地方使用 {{br}}(这很有效)。我尝试扩展代码以允许使用链接标签(例如,{{link1}}url{{link2}}URL Title{{link3}};但是,这不起作用,大概是因为更新不是作为一个整体发生,然后浏览器尝试逐个渲染它,使其混淆。(FF和IE显示不同的结果,但都失败了。如果我混淆了下面JS的顺序 - 即,做link3, 2然后 1 - 输出也发生变化,但仍然失败。)有没有更好的方法来做到这一点?
ajax - 通过 AJAX/innerHTML 显示部分 Unicode 编码的数据
我试图通过 AJAX 调用从服务器获取一些数据,然后使用 responseDiv.innerHTML 显示结果。来自服务器的数据部分使用 Unicode 元素编码,例如:za\u010Dat test。通过设置响应 div 的 innerHTML,这将按原样显示。也就是说,Unicode 不会转换为浏览器中的实际表示。
包含页面的字符集设置为 UTF-8。我已经尝试了大多数其他的东西,比如将 unicode 表示转换为 HTML 实体,但这似乎也不起作用。
我还应该提到,来自服务器的文本也混合了 HTML 标记。HTML 标记应得到尊重。例如,如果来自服务器的文本为<b>Bold this!</b>
,则文本为粗体。
任何帮助表示赞赏。
维克拉姆
javascript - 为什么我不能在 IE 中将包含脚本标签的字符串添加到 innerHTML
我正在尝试执行以下操作(我正在使用原型库):
在 IE 中,在我在第二行设置属性后,div.innerHTML 属性始终等于 ""。
该片段位于外部供应商脚本中覆盖 document.write() 的函数内部,这就是为什么我这样做而不是创建脚本元素并将其直接附加到 div 元素的原因。
任何帮助将不胜感激,这让我白发苍苍!
jquery - MSIE:jQuery 的 append()/html() 不起作用,求助于 getElementById().innerHTML
这是一篇长文,
前提
被要求帮助客户修复他们当前项目的一些错误。需要修复的是工作列表页面。您有一个作业列表,单击其中一个,如果激活了 JavaScript,则会进行 AJAX 调用以将作业的详细信息动态加载到现有元素 (DIV#emploi_details) 中。如果 JS 未激活,它只会重新加载包含作业详细信息的页面(不太重要)。
我跳上他们的实验室服务器在开发网站上工作。
问题
基本上,IE7(起初)没有显示通过 $().load() 加载的内容。IE6 与innerHTML 一起工作顺利。请求已发送,我每次都会收到回复。我收到数据,我可以 alert() 它并查看它,但内容的实际转储不起作用。Safari,火狐,没问题。我正在向其中加载信息的 DIV#emploi_details 元素有一个 CSS display:none; 在其样式表中,并在加载内容后显示(其他不那么重要的细节)。
解决方案
起初我的印象可能是 $().load() 只是在起作用,所以我将其更改为 $.get() 以更好地控制加载内容的操作。
这行得通。在包括 IE6 和 IE7 在内的所有浏览器中。没问题。很奇怪,但你知道它是否有效且完全证明,不要问问题。
情节转折
现在这就是狗屎变得奇怪的地方。我认为该错误已修复并将解决方案应用于实时网站,但......它不起作用。IE只是不喜欢它。在尝试了 $.ajax 和所有其他类型的东西之后,我感到困惑,我最终将它用于实时网站:
它适用于所有浏览器,因为没有什么能像准系统 JS 那样完成工作。必要时,此修复程序也适用于开发网站。
'待续'
嵌入内容的功能中有些东西不是所有浏览器(显然是服务器)都没有点击。
总而言之,我的问题是 WTF 问题。我不明白为什么一个在一侧有效,而在另一侧无效,甚至为什么它一开始就不能正常工作($().load())。这显然不是不同的 jQuery 版本(1.2.6),因为这是我验证框架版本的第一直觉。
无论如何,有趣的神秘海事组织。
希望斯塔克兰的某个人有上帝赐予的答案。
谢谢