javascript - 通过document.evaluate获取nextsibling的文本值

标签 javascript html document.evaluate

我有以下表格数据要在 HTML 中遍历:

<table id="publicationTable" cellpadding="2" cellspacing="0">
<tr>
<td vAlign="top"><IMG SRC="/images/icons/general/spacer.gif" width="20" height="1"></td>
<td class="SmallColHeading">Published     </td>
<td class="ColRow">Publisher, place and date of publication</td>
</tr>
<tr>
<td vAlign="top"><IMG SRC="/images/icons/general/spacer.gif" width="20" height="1"></td>
<td class="SmallColHeading">
Format     </td>
<td class="ColRow">
vii, 201 pages ; 23 cm.     </td>
</tr>

我想输出文本“vii,201页;23.cm。”与 document.evaluate 但我错过了一些东西。问题是选择器应该是类属性值“SmallColHeading”的 td,并且具有(包含)Format 的文本节点/值。

var Pagination = document.evaluate("//td[contains(., 'Format')]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null );
var Pagination2 = Pagination.nextSibling.innerHTML;
if (Pagination.singleNodeValue) {
                var Pages = Pagination.singleNodeValue.textContent;
            }
alert(Pagination2);
alert(Pages);

我正在尝试各种组合,特别是在 nextSibling 之后,例如删除innerHTML(我变得未定义)或将其替换为textContent(我得到无法读取属性“textContent”)。我正在努力通过 JavaScript 在这个 HTML 上遍历 nextSibling,因为 tr 甚至没有 id 值,而这就是我们在系统中拥有的所有内容。提前致谢!

最佳答案

我能够通过以下代码实现结果:

 var Pages = document.evaluate("//td[contains(., 'Format')]/following-sibling::td", 
 document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null );
 if (Pages.singleNodeValue) {
                var pages = Pages.singleNodeValue.textContent;
            }

我应该在“//td[contains(., 'Format')]/”之后遍历,添加“following-sibling::td”,而不是添加这样的变量:“var Pagination2 = Pagination .nextSibling.innerHTML;”此帖How to select following sibling/xml tag using xpath给了我提示以及我查看的初始链接:Javascript .querySelector find <div> by innerTEXT这是:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_using_XPath_in_JavaScript

关于javascript - 通过document.evaluate获取nextsibling的文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55913814/

相关文章:

javascript - 循环中的 React 渲染在第一个元素之后停止

javascript - React Select - 允许区分大小写的可创建选项

php - 尝试在 php 中对 mysql 表中的数据表进行排序

html - CSS 导航图像背景

JavaScript:迭代 document.evaluate() XPathResult 返回 null

javascript - 一切正常,除了 Ajax

javascript - 如何在 Javascript 中处理 javascript 方法 String.prototype.match()

php - css中的路径以在codeigniter中调用背景图像

javascript - (document.evaluate) -> src of image 包含多个条件,怎么样?

javascript - document.evaluate 在 Chrome 中不起作用?