查找具有 rel 属性的元素并更改文本

Jan*_*ath 1 javascript jquery

我有一个用于浏览旧帖子的分页。我需要使用 jquery 或 js 更改它的文本。(分页在 laravel 包中生成,因此无法直接编辑文本)

\n\n

所以我尝试查找 rel 并替换文本。但没有运气。这是我的代码。

\n\n

\r\n
\r\n
$(".older-posts").find("li[rel=\'next\']").html("Older posts");
Run Code Online (Sandbox Code Playgroud)\r\n
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>\r\n<div class="older-posts">\r\n  <ul class="pagination">\r\n    <li>\r\n      <a href="http://localhost/pages/blog?page=1" rel="prev">\xc2\xab Previous</a>\r\n    </li>\r\n    <li class="disabled"><span>Next \xc2\xbb</span></li>\r\n  </ul>\r\n</div>
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n\n

任何想法?

\n

Raj*_*ram 6

纯js解决方案:

请注意:querySelectorAll 返回一个数组,因此 li 的位置很重要;如果你改变“prev”li的位置,那么这段代码可能会表现得很顽皮。

干杯

document.querySelectorAll('[rel="prev"]')[0].innerHTML = "Older posts";
Run Code Online (Sandbox Code Playgroud)

方法二:

如果您觉得上面的代码由于我提到的原因不完整,请改用这种方法

var lists = document.querySelectorAll("li")

var filteredList = Array.prototype.filter.call(lists,function(node) {   return node.innerHTML.includes("Previous"); });

filteredList[0].innerHTML = "Older posts";
Run Code Online (Sandbox Code Playgroud)