通过文档对象模型,将此标记用于有关其他语言与XML / HTML交互的问题。不要将其用作HTML,JavaScript或SAX的简写 - 使用其他标记来表示语言和标记。
需要在GTM中捕获DOM变量,但ID是动态的并且根据用户而变化
需要在表单字段中返回电话号码作为GTM中的变量,但id是动态的并且不会被推送到数据层。想要提取下面所需的值。 需要在表单字段中返回电话号码作为 GTM 中的变量,但 id 是动态的并且不会被推送到数据层。想要提取下面所需的值。 <input name="phone" type="tel" id="id-lpvcy9p3" class="my-input" required="" value="1111111111" data-gtm-form-interact-field-id="0"> 尝试在 DOM Id 字段中对 id 进行正则表达式(不确定正则表达式是否有效),但不断获取空值 我同意@CBroe 的观点,使用类似 name 的方法是比 ID 更可靠的方法。考虑到这个名称对于您所定位的领域来说是唯一的(有时不是)。 您可以使用 JavaScript 变量(例如 document.getElementsByName('phone'))来提取该字段的内容。
访问 nextSibling 的属性时,类型“ChildNode”上不存在属性“xxx”
游乐场演示 代码: document.querySelectorAll('a').forEach(item => { console.log(item.nextSibling?.tagName); }) /* 1 文本节点 2 游乐场演示 代码: document.querySelectorAll('a').forEach(item => { console.log(item.nextSibling?.tagName); }) /* <span>1</span> text node <span>2</span> <script> document.querySelector('span').nextSibling; // #text document.querySelector('span').nextSibling.nextSibling; // <span>2<span> </script> */ 我在这里没有使用nextElementSibling,因为我也想迭代文本节点 您的问题下的评论正确地指出,ChildNode可以是HTML元素之外的其他内容,因此这就是为什么像tagName这样的属性默认情况下不起作用。 评论建议转换为 HTMLElement,但最好使用 instanceof: document.querySelectorAll('a').forEach(item => { if (item.nextSibling instanceof HTMLElement) { console.log(item.nextSibling?.tagName); } }) 这是类型安全的,如果您愿意,它可以让您使用文本节点。 这是另一种方法,尽管我认为它不太干净: document.querySelectorAll('a').forEach(item => { const nextSibling = item.nextSibling; if (nextSibling && "tagName" in nextSibling) { console.log(nextSibling.tagName); } }) 如果你想过滤掉除元素之外的所有内容,你可以使用类型保护: function isHTMLElement(node: Node): node is HTMLElement { return node instanceof HTMLElement; } Array.from(document.querySelectorAll('a')).filter(isHTMLElement).forEach(item => console.log(item.tagName))
我正在使用 Mozilla Firefox,我正在尝试找出一种使用 JavaScript 和 DOM 访问同一窗口中其他选项卡内容的方法(如果存在的话,我愿意接受其他技术)。 例如,我...
Google 应用程序脚本将 Google 文档中标题 4 的硬包装转换为软包装
我正在处理一份谷歌文档,其中一个标题分布在由 Enter 分隔的多行中( ),我想将其转换为软回车(Shift + Enter),我可以手动完成,但它非常乏味...
我正在尝试使用多个前端应用程序来优化网站。我想动态下载(解析)应用程序并为我们系统的关键应用程序设置顺序。 我在想...
我设置了 2 个点击监听器,这些句柄显示模式并删除注释。这些侦听器使用事件委托并在父容器上设置。当用户输入...
我正在尝试制作一个机器人/机器人在一个专用网站上执行预定义的操作,我将从 Chrome 中提供的控制台运行该网站(也许稍后将其转换为扩展程序)。 我正在尝试更改值...
我有一个反应代码。它从 django API 获取图像数据并将其显示在屏幕上。图像数据采用 Base64 格式。 从“react”导入 React, { useState }; 从 &q 导入 axios...
我需要这样做,以便如果用户单击它一次(例如设置值 1),他就无法再次单击,直到将值设置为 0 $50
如何通过在 Javascript 中按下键盘按钮来实现鼠标单击事件
如何通过使用 vanilla javascript 按键盘上的按钮来触发网页上某个元素上的 mouseclick 事件?
项目:互动世界地图 使用SVG地图文件获取国家名称 使用国家/地区名称进行 API 调用 使用 API 中的信息通过 API 中的信息更新文本框。 我正在关注一个gu...
我正在尝试将两个 XML 文件打包到一个 zip 文件中: XML 是使用 org.w3c.dom.* 生成的,我试图将它们直接转换为 ZipOutputStream。单个文件示例: 尝试(最终
问题 JQuery 在导入时初始化。如果 window 和 window.document 存在(而模块不存在),JQuery 会保存引用并随后使用它们。 有没有办法“重新初始化”...
我在跨度中有一个动态文本。我想使用线夹:2。 在这种情况下,最多有。 2 行文本,其余部分被……截断。 适用于: 显示:-webkit-box; -webkit-line-c...
一旦 PDF.JS 完成渲染每个页面,我想对该页面的内容进行查找/替换。 我通过将以下内容放入 iFrame 的文档中来调用 PDF.JS: 菲...</desc> <question vote="3"> <p>一旦 PDF.JS <strong>完成渲染</strong>每个页面,我想<strong>然后</strong>对该页面的内容进行查找/替换。</p> <p>我通过将以下内容放入 iFrame 的文档中来调用 PDF.JS:</p> <pre><code><script> fileId=0; function getURLParameter(name) { return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null } var fileId = getURLParameter("fileId"); var DEFAULT_URL = '/viewer/fetchpdf.php?fileId='+fileId; </script> </code></pre> <p>然后从父框架设置 URL:</p> <pre><code>url = '/_third_party/pdfjs/web/viewer.html?fileId='+$(this).attr('href'); $("#iframeViewPdf").attr('src', url); </code></pre> <p>我注意到,当使用 PDF.JS 渲染 PDF 时,它会使用加载占位符初始化每个页面:</p> <pre><code><div id="pageContainer3" class="page" style="width: 991px; height: 1319px;"> <div class="loadingIcon"></div> </div> <div id="pageContainer4... </code></pre> <p>然后将 PDF 呈现为 html,例如</p> <pre><code><div id="pageContainer3" class="page" style="width: 991px; height: 1319px;"> <div class="canvasWrapper" style="width: 991px; height: 1319px;"> <canvas id="page46" width="991" height="1319" style="width: 991px; height: 1319px;"> </canvas> </div> <div class="textLayer" style="width: 991px; height: 1319px;"> ... </div> </div> <div id="pageContainer4... </code></pre> </question> <answer tick="false" vote="1"> <p>随着澄清,这是一个非常不同的故事。您没有直接使用 PDF.JS,而是使用它们的 Web 包装器。我认为你可以使用的一件事(我从来没有这样做过,现在只是阅读代码)是他们在 <pre><code>pageRendered</code></pre> 上发出 <pre><code>document</code></pre> 事件,所以如果你可以向它添加一个监听器,你应该没问题:</p> <pre><code>var frameDoc = document.getElementById('iframeViewPdf').contentWindow.document; frameDoc.addEventListener('pagerendered', function (evt) { console.log(evt); // see what goodies hide here! like page number etc } </code></pre> <p>(未测试,可能需要调整。)</p> </answer> <answer tick="false" vote="1"> <p>这就是我们检测页面渲染的方式。在设置监听器之前等待 iframe 内容加载很重要。</p> <pre><code>$( "#iframeViewPdf" ).load(function() { // wait for iframe to load var frameDoc = $("#iframeViewPdf").contents()[0]; frameDoc.addEventListener("pagerendered", function (evt) { console.log(evt.detail); }); }); </code></pre> </answer> <answer tick="false" vote="0"> <pre><code>//Step 1: store a refer to the renderer var pageRendering = page.render(renderContext); //Step : hook into the pdf render complete event var completeCallback = pageRendering.internalRenderTask.callback; pageRendering.internalRenderTask.callback = function (error) { //Step 2: what you want to do before calling the complete method completeCallback.call(this, error); //Step 3: do some more stuff }; </code></pre> </answer> </body></html>
一旦 PDF.JS 完成渲染每个页面,我想对该页面的内容进行查找/替换。 我通过将以下内容放入 iFrame 的文档中来调用 PDF.JS: 菲...</desc> <question vote="3"> <p>一旦 PDF.JS <strong>完成渲染</strong>每个页面,我想<strong>然后</strong>对该页面的内容进行查找/替换。</p> <p>我通过将以下内容放入 iFrame 的文档中来调用 PDF.JS:</p> <pre><code><script> fileId=0; function getURLParameter(name) { return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null } var fileId = getURLParameter("fileId"); var DEFAULT_URL = '/viewer/fetchpdf.php?fileId='+fileId; </script> </code></pre> <p>然后从父框架设置 URL:</p> <pre><code>url = '/_third_party/pdfjs/web/viewer.html?fileId='+$(this).attr('href'); $("#iframeViewPdf").attr('src', url); </code></pre> <p>我注意到,当使用 PDF.JS 渲染 PDF 时,它会使用加载占位符初始化每个页面:</p> <pre><code><div id="pageContainer3" class="page" style="width: 991px; height: 1319px;"> <div class="loadingIcon"></div> </div> <div id="pageContainer4... </code></pre> <p>然后将 PDF 呈现为 html,例如</p> <pre><code><div id="pageContainer3" class="page" style="width: 991px; height: 1319px;"> <div class="canvasWrapper" style="width: 991px; height: 1319px;"> <canvas id="page46" width="991" height="1319" style="width: 991px; height: 1319px;"> </canvas> </div> <div class="textLayer" style="width: 991px; height: 1319px;"> ... </div> </div> <div id="pageContainer4... </code></pre> </question> <answer tick="false" vote="1"> <p>随着澄清,这是一个非常不同的故事。您没有直接使用 PDF.JS,而是使用它们的 Web 包装器。我认为你可以使用的一件事(我从来没有这样做过,现在只是阅读代码)是他们在 <pre><code>pageRendered</code></pre> 上发出 <pre><code>document</code></pre> 事件,所以如果你可以向它添加一个监听器,你应该没问题:</p> <pre><code>var frameDoc = document.getElementById('iframeViewPdf').contentWindow.document; frameDoc.addEventListener('pagerendered', function (evt) { console.log(evt); // see what goodies hide here! like page number etc } </code></pre> <p>(未测试,可能需要调整。)</p> </answer> <answer tick="false" vote="1"> <p>这就是我们检测页面渲染的方式。在设置监听器之前等待 iframe 内容加载很重要。</p> <pre><code>$( "#iframeViewPdf" ).load(function() { // wait for iframe to load var frameDoc = $("#iframeViewPdf").contents()[0]; frameDoc.addEventListener("pagerendered", function (evt) { console.log(evt.detail); }); }); </code></pre> </answer> <answer tick="false" vote="0"> <pre><code>//Step 1: store a refer to the renderer var pageRendering = page.render(renderContext); //Step : hook into the pdf render complete event var completeCallback = pageRendering.internalRenderTask.callback; pageRendering.internalRenderTask.callback = function (error) { //Step 2: what you want to do before calling the complete method completeCallback.call(this, error); //Step 3: do some more stuff }; </code></pre> </answer> </body></html>
React 无法使用 e.target.getAttribute() 方法获取自定义属性
我正在尝试在我的changeHandler 中处理自定义属性。不幸的是,React 无法识别自定义的“data-index”属性。 所有其他标准属性(例如名称、标签...
为什么 `mouseup` PreventDefault 对所选文本的影响不同?
调用 mouseupEvent.preventDefault() 通常不会阻止创建新的选择,除非您尝试在当前选择中创建选择。 Array.from(document.querySelectorA...
当我的页面从包含数据的文件加载时,我会立即动态地将电影图像添加到我的 DOM 中, 但是现在当我尝试访问它们的样式或更改它时,我会返回未定义的状态。 我的容器...