Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何引用显示的文本(解析的HTML)-它是Javascript客户端中可用的对象还是元素_Javascript_Object_Browser_Dom Events - Fatal编程技术网

如何引用显示的文本(解析的HTML)-它是Javascript客户端中可用的对象还是元素

如何引用显示的文本(解析的HTML)-它是Javascript客户端中可用的对象还是元素,javascript,object,browser,dom-events,Javascript,Object,Browser,Dom Events,这是一个非常具体的问题,与这里提出的一个更广泛的问题有关: 我读过DOM(维基): 要呈现HTML页面等文档,大多数web浏览器都使用 内部模型类似于DOM。每个文档的节点都是 以树结构组织,称为DOM树,具有最顶层的节点 命名为“文档对象”。在浏览器中呈现HTML页面时, 浏览器将HTML下载到本地内存并自动 解析它以在屏幕上显示页面。DOM也是一种方式 JavaScript在HTML页面中传输浏览器的状态 这很有趣,但它没有说明“作为对象”的输出是什么 但是我们可以突出显示输出或显示的文本

这是一个非常具体的问题,与这里提出的一个更广泛的问题有关:

我读过DOM(维基):

要呈现HTML页面等文档,大多数web浏览器都使用 内部模型类似于DOM。每个文档的节点都是 以树结构组织,称为DOM树,具有最顶层的节点 命名为“文档对象”。在浏览器中呈现HTML页面时, 浏览器将HTML下载到本地内存并自动 解析它以在屏幕上显示页面。DOM也是一种方式 JavaScript在HTML页面中传输浏览器的状态

这很有趣,但它没有说明“作为对象”的输出是什么

但是我们可以突出显示输出或显示的文本,然后复制并粘贴。 因此,highlight和copy命令必须知道如何访问输出-因此它必须是一个对象(是/否?

如果这些命令可以访问输出。。。。。。它回避了一个问题:

Javascript也可以访问输出吗? 如果是的话。。。。它叫什么,它的脚本路径是什么

例如,典型示例:

var x = document.getElementById("textarea_id").value;
我可能需要:

var x = path_to_parsed_output.value;
这个问题的答案一定在那里。。。。但我看过好几个参考网站,似乎没有一个能直接解决这个问题

我希望一些知识渊博的人能简单地陈述一下,什么可能是一个显而易见的答案(如果你有知识的话,这是显而易见的)

:)

是和否。 是的,您几乎可以通过JavaScript在DOM中访问任何您想要的内容

但是,除了根节点之外,列表中没有其他节点的通用引用(同样,有几个例外)

您要么必须使用树导航算法遍历DOM,直到找到要查找的内容,要么必须为HTML节点提供一个定义特征,并使用DOM访问方法,该方法将为您提供具有该属性(
id
)的单个元素,或者提供具有该属性的节点列表(
),您必须对其进行迭代才能找到所需内容

…因此,诀窍是找到您想要的节点的定义特征,使访问它尽可能轻松

但是,DOM节点与对象的比例不是1:1。
这意味着您作为对象对它所做的更改可能不会反映在HTML中,反之亦然(除非您使用的是DOM特定的方法)

关于DOM对象支持什么,请阅读Mozilla开发者网络上的教程。

这是一个巨大的主题,不同的浏览器支持不同的东西。

谢谢你的回答。很明显,javascript中的“highlight”命令(因此复制到…)无法与之相比。值得注意的是,我们认为这是理所当然的(突出显示页面)无法通过代码访问。是否有其他方法获取显示文本的整页,以便复制到另一页?您完全可以“突出显示”代码。但这意味着倾听用户交互,或倾听页面请求,并手动确定“突出显示”的预期目标是,然后在页面上查找该单词,然后使用自己的CSS样式将其添加到自己的HTML节点,或者将其添加到新的特殊节点,以突出显示内容(
标记
)。但这又归结为“如何知道需要突出显示的内容,为什么知道它,以及如何找到它?”。例如,标记每个页面上的“突出显示我!”可能意味着筛选每个节点…在页面上,每个节点的内部,搜索所有文本中的“突出显示我!”,并将“突出显示我!”替换为“突出显示我!”!作为子节点或类似的东西。或者它可以像有一个按钮一样简单,当按下该按钮时,更改整个段落的背景颜色…
button.onclick=function(){paragration.style.backgroundColor=“green”;}
没有解决所有问题的灵丹妙药。但是,在不同的复杂程度上,这一切都是可能的。是的,我接受(在编程中)用鼠标模拟选择一段文本的实时事件的困难。然而,我的问题实际上是“var x=path\u to\u parsed\u output.value;”我的意思是:我们可以访问“显示的文本”例如innerHTML或网页上的翻译文本。通过访问,我的意思是:我们可以获取所有显示的文本,并将其放入本地存储吗?对于翻译文本,无需选择任何内容……您需要所有内容—不需要遍历dom,只需“selectAll”“并存储。即,显示的文本变为真实文本。这是我的错……我不应该说突出显示……选择全部更好。”。