gpt4 book ai didi

javascript - 使用 JQuery 动态更新 href 文本值

转载 作者:行者123 更新时间:2023-11-28 17:49:01 24 4
gpt4 key购买 nike

页面上有href链接,其文字不完整。例如,页面将链接文本显示为“link1”,但正确的文本应类似于“link1 - Module33”。页面和实际文本都以相同的文本开头(在此示例中,两者都以“link1”开头)。我从 java session 中的 JSON 对象获取实际文本并进行比较。如果 JSON 文本以页面文本开头(这意味着 JSON 文本“link1 - Module33”以“link1”(页面文本)开头,则更新“link1” >”到“link1 - Module33”。

页面有以下代码来显示链接

<div class="display_links">
<ul id="accounts_links_container">
<li id="accounts_mb_2_id"><a href="javascript:void(0)" class="linksmall"
id="accounts_mb_2_a"> link1 </a></li>
<li id="accounts_mb_11_id"><a href="javascript:void(0)" class="linksmall"
id="accounts_mb_11_a"> link2 </a></li>
.
.
.
// more links
</ul>
</div>

注意:li id 不是静态的,每个页面文本都不同,但 ul id 是静态的。

我正在从 JSON 对象(来自 java session )读取正确且完整的链接文本,如下所示

var sessionValue = <%= json %>; // taken from String array

并阅读如下页面文本:-

$('.display_links li').each(function() { pageValue.push($(this).text()) });

sessionValue 具有正确的更新文本,而 pageValue 具有部分文本。我正在使用下面的代码进行比较

for(var s=0; s<pageValue.length; s++) {                
var pageLen = $.trim(pageValue[s]).length;
for(var w=0; w<sessionValue.length; w++) {
var sesstionLen = $.trim(sessionValue[w]).length;
var newV = sessionValue[w].substring(0, pageLen);
if($.trim(newV)==$.trim(pageValue[s])){
**// UPDATING VALUES AS BELOW**
pageValue[s]=sessionValue[w];
}
}
}

我正在尝试将页面值文本更新为 session 值文本,如 pageValue[s]=sessionValue[w]; (在上面的代码中),但它实际上并未更新值。抱歉,比较文本逻辑很差。请帮忙,如何在比较后在循环中动态更新它,以确保我更新正确的链接文本。

最佳答案

pageValue[s]=sessionValue[w]; 仅更新数组;它对 li 的文本没有任何影响。

如果您想更新 li 的文本,您需要在 each 中执行此操作。这是一个执行此操作的示例,并采用稍微更有效的方法进行比较:

$('.display_links li a').each(function() {
var $this = $(this);
var text = $.trim($this.text());
var textLen = text.length;
for (var w = 0; w < sessionValue.length; ++w) {
var sessionText = $.trim(sessionValue[w]);
if (sessionText.substring(0, textLen) == text) {
text = sessionText;
$this.text(text);
break; // Found it, so we stop
}
}
pageValue.push(text); // If you want it for something
});

关于javascript - 使用 JQuery 动态更新 href 文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46022804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com