问题标签 [innertext]
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 - 在 getSelection() 周围提取 innerText 的更好方法
我正在开发一个 Chrome 扩展程序,它将从选择中提取纯文本 url,但选择始终是 url 的一小部分,所以我需要左右扫描。我基本上需要从 innerText 的选择中提取 500 个字符,因为我不想解析 html 元素,也不想重新组装 textContent。
这是我到目前为止所拥有的,它工作得很好,但我觉得有一种更好的方法,它不会修改文档对象,然后将其恢复到原始状态......
extract 保存由浏览器评估的提取文本、换行符等。顺便说一句,这只是 Chrome,所以我根本不需要交叉兼容性。现在我可以解析选择 - 从中间到边缘找到 url,注意从中间开始解析很重要,所以我不只是从我的 getSelection() 的 parentNode 中提取一个 innerText 而不知道偏移量......
有没有更好的方法来做到这一点?也许将整个文档复制到 DOMParser,但是如何将原始文档中的 getSelection 应用到它?
- - - 更新 - - -
我已经简化了上面的代码(忘了提到我正在使用鼠标点击,所以我检测到事件点击,在双击以选择一些文本后),现在它在 document.body.innerText 中找到了 caretOffset 但它仍然修改了文件然后恢复它,所以仍然在想一个更好的方法来做到这一点。我想知道 insertNode 和 deleteContents 是否在某些方面不好?
有什么想法吗?
javascript - 通过 element.innerText 插入不间断空格
在一个 Web 应用程序中,我在第一步中动态创建了一个包含大约10,000 个空单元格的大型且非常复杂的表格(一些表格单元格将保持为空,而有些则不会)。我的第一个方法是使用带有不间断空格的 innerHtml来防止空单元格折叠:
但这相当慢。然后我发现设置innerText比设置innerHtml要快得多。所以我将代码更改为
因为只是在每个单元格中td.innerText = ' '
写了文本。" "
它似乎在 Internet Explorer 11 中有效,但在 Firefox 中,空单元格的边框消失了。但是,如果我检查单元格(通过 Firebug 或其他方式)并将它们与我以前的版本进行比较,我看不出有任何区别。
jquery - 使用 jQuery 而不是 innerHTML 获取 innerText
我有一个 figcaption,我想要其中的文字。这就是它在 chrome 中的元素检查器中的样子。出于某种原因,“innerHTML”以返回开始,然后是很多空格。然而,“innerText”看起来不错,所以我对此很感兴趣。
在线我看到我必须使用该text()
方法来获取innerText,但它似乎给出了innerHTML:
那么我怎样才能到达innerText呢?
c# - 为什么 '[' 被视为 XmlElement 名称的一部分?
我正在尝试编写一个方法来查询任何 SQLite 表并将其内容作为 xml 返回:
我向这个方法传递了一个少于 25 列(准确地说是 16 列)的表的名称,像这样调用它(测试):
但是,我没有取回一个格式良好的 xml 块,而是取回了这个令人毛骨悚然的公报:
我确实有一些用括号括起来的占位符 val,从 LINQPad 可以看出:
这是(在表中有诸如“[CRVid]”之类的值)问题吗?如果是这样,我还必须防止在列值中出现哪些其他“奇数”字符:“{”、“}”、“(”、“)”等?
更新
我在 thumbmunkey 的推动下对代码进行了优雅化(背上有一只猴子):
...但是现在,尽管由于某种原因异常消失了,但返回的 val 不包含表中的记录。我所看到的是:
?
更新 2
好奇者和好奇者:我的更新的问题是我有一个愚蠢的鹅类型(>”,它应该是“<”)。但即使修复了这个问题,我也会遇到一个例外:
...并且返回的唯一 xml 是:
???
更新 3
我将代码更改为:
...但仍会得到与 Upate 2 中详述的相同的 err msg 和 xml 结果。
jquery - 内部文本的跨浏览器问题
我有这个下面的代码
这在Chrome中运行良好,但在Firefox 和 IE中我收到错误内部文本未定义。关于如何使该代码在所有浏览器中工作的任何建议?
javascript - 使用 javascript 从 Chrome 浏览器中的所有元素中提取可见文本
我正在编写收集所有可见文本并将它们逐行放入表格中的 javascript。该脚本将仅在 chrome 中运行,因此无需担心兼容性。我尝试过 innerText 和 textContents 但它们似乎都从 HTML、SCRIPTS 和其他标签返回数据。他们还从孩子那里获取文本,因此在每一行中放置一个是行不通的。如果 innerText 可以返回浏览器上显示的无样式文本(就像您复制粘贴到记事本一样),那就太好了。
javascript - 有没有办法只替换页面上所有元素的 innerText ?
背景
基于今天的 XKCD,我创建了以下脚本:
如果您访问一个站点(例如http://en.wikipedia.org/wiki/Programming_language)并粘贴上面的代码(如果需要,重新添加javascript:
),这将对文档的内容执行正则表达式替换,同时保留大多数格式,创造一些有趣的阅读。
但是,网站的外观会受到影响;大概是因为我正在替换innerHTML
而不是仅仅替换innerText
(我猜;虽然不确定)。
我不能简单地替换innerText,因为所有元素都包含他们自己的孩子的innerText;对 body 元素执行此操作将删除所有格式,并且对每个元素执行此操作会复制大量内容。
问题
有没有办法通过(最小)javascript遍历HTML文档中的所有节点,替换其直接子文本值中的单词,同时保留其剩余内容?
javascript - 未捕获的类型错误:无法读取未定义的属性“innerText”
实际上我有两个错误,我不知道第一个来自哪里。我从“code.jquery.com”中包含了 jQuery v.2.1.3,Chrome 向我显示了这个错误
未捕获的类型错误:无法读取未定义的属性“innerText”
我猜第二个错误来自我自己。
有人可以帮助我吗?我的谷歌技能结束了,很快就放弃了。
javascript - JavaScript:: innerText 使用安全吗?
我找到了那个脚本:
这让我意识到 innerText 使用起来不安全(......或者我在这里错了)?
这带来了两个问题:
innerText
如果它不能在所有浏览器上正常工作,我为什么要使用它(除非好处innerText
是......)?是否
textContent
可以安全使用并且可以在任何情况下使用?
javascript - Javascript:: firstChild 的 textContent/innerText
我的代码几乎可以解释我将要得到的东西:
我希望►
在控制台上获得 ascii 值。
这里需要小调整