javascript - 如何在 JavaScript 中不使用 ID 获取元素的值

标签 javascript html jquery-selectors

假设我有以下代码:

<div class="post">
  <h2 itemprop="name">
    <a href="http://www.example.com">The Post Title</a>
  </h2>
<div class="details">
  <span>
    <em class="date">Jul 17, 2014  </em>
  </span>
  <span>
    Category:  
    <a href="/category/staff-profile/">Staff Profile</a> 
  </span>
</div>

我如何才能在不更改页面上的 HTML 的情况下使用 JavaScript 获取“帖子标题”和“员工简介”的值?例如,我不能使用 getElementbyID。如果必须的话,我可以使用 jQuery,但如果可能的话我宁愿不用。

最佳答案

您可以使用返回数组的 getElementsByTagName 获取这些值

document.getElementsByTagName("a")[0].innerHTML // returns The Post Title
document.getElementsByTagName("a")[1].innerHTML // returns Staff Profile

如果这些链接是第一个,你可以使用索引 0 和 1,否则你应该寻找正确的索引

更新

另一种可能很简单的方法是在类 post

的 div 中选择这些链接
var links = document.getElementsByClassName("post")[index].getElementsByTagName("a");
links[0].innerHTML; // returns The Post Title
links[1].innerHTML; // returns Staff Profile

如果类 post 的 div 的索引不改变,这个解决方案将是最好的解决方案

关于javascript - 如何在 JavaScript 中不使用 ID 获取元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25272952/

相关文章:

jquery find 选择 div 中的选定选项

javascript - WordPress - 循环内的脚本只能运行一次

javascript - 如何在 react router dom v4 中获取组件中的参数?

javascript - Ajax Form提交后需要清空

javascript - jQuery Find 无法使用 HTML 模板

jquery - 选择 1 级子元素

javascript - 如何使用一个输入链接表单并使用两个链接提交

javascript - 如何使用jspdf生成完整的pdf?

javascript - PHP 邮件表单不会将输入发送到电子邮件

jquery - 使用 jQuery 比较 2 个 SELECT 框的值