gpt4 book ai didi

javascript - 如何通过 XPages 中的 CSJS 访问重复控件中的链接?

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:02 24 4
gpt4 key购买 nike

在我的应用程序中,我在重复控件中显示了一个链接。此链接将打开一个对话框控件,显示重复中所选行的详细信息。

现在我想让链接在被点击时显示为“已读”。

我定义了以下函数,它将在 cookie 中注册点击的链接 ID 并更改链接的 CSS 颜色属性。

我可以将链接 ID 存储在 cookie 中,但是当我尝试在 DOM 中找到它并更改 CSS 时,我失败了。我做错了什么?

// onclick
function saveId(id) {
if ($.cookie('idCookie')) {
$.cookie('idCookie', $.cookie('idCookie') + "," + id);
} else {
$.cookie('idCookie', id);
}
}

// make all links colored
function setVisited() {
if (null != $.cookie('idCookie')) {
var idArray = $.cookie('idCookie').split(',');
console.log("#ids:" + idArray.length);
for (var x = 0; x < idArray.length; x++) {
console.log("ID: " + x + "=" + idArray[x]);
if ($('#' + idArray[x]).length) {
//link exists
$('#' + idArray[x]).css('color', 'red');
}
}

}

// assign saveId()
$(document).ready(function() {
$('a').click(function() {
saveId($(this).attr('id'));
});
setVisited();
});

最佳答案

问题是您不能按照此处所述在您的选择器中使用 :

How to get the element id in repeat control

因此您的代码必须如下所示:

// onclick
function saveId(id) {
if ($.cookie('idCookie')) {
$.cookie('idCookie', $.cookie('idCookie') + "," + id);
} else {
$.cookie('idCookie', id);
}
}

// make all links colored
function setVisited() {
if (null != $.cookie('idCookie')) {
var idArray = $.cookie('idCookie').split(',');
for (var x = 0; x < idArray.length; x++) {
var link = $(document.getElementById(idArray[x])).get();
if (link.length) {
$(link).css('color', 'red');
}
}

}
}

// assign saveId()
$(document).ready(function() {
$('a').click(function() {
saveId($(this).attr('id'));
});
setVisited();
});

祝你好运!

关于javascript - 如何通过 XPages 中的 CSJS 访问重复控件中的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54903455/

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