- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我即将完成一个脚本,该脚本将搜索多个元素以查找人名。如果脚本找到匹配项,它应该只为包含人名的元素获取该元素中的 ID 值。
之后,此脚本应搜索一组不同的元素,并找到它们的输入值。如果输入值与前面元素的 ID 值匹配,我想让它更改与具有输入值的元素共享同一父元素的子元素的背景颜色。
预期结果:本质上:假设我有 3 个项目,但只有 2 个包含单词“Rufio”。仅对于包含“Rufio”的项目,这些项目的背景颜色应该更改。
当前结果:脚本当前不是只更改包含“Rufio”的元素的背景颜色,而是更改所有元素的颜色。
我确定我已经迷失在所有括号中了,但我哪里出错了?
var checkexist = setInterval(function() {
var tickets = document.querySelectorAll("[id^=ticket-tip-] > div > ul > li");
tickets.forEach(ticket => {
if (ticket.innerHTML.indexOf("Rufio") !== -1) {
var ticketid = ticket.parentNode.parentNode.parentNode.id;
var fancyID = ticketid.replace("ticket-tip-", "");
var mainareas = document.querySelectorAll(
"[id^=player-ticket-content] > div.ticket-holder > div > ul > li > input"
);
var tickethrefs = document.querySelectorAll(
"[id^=player-ticket-content] > div.ticket-holder > div > ul > li > a"
);
mainareas.forEach(mainarea => {
tickethrefs.forEach(tickethref => {
if ((mainarea.value = fancyID)) {
tickethref.style.backgroundColor = "#99ff66";
console.log(mainarea.value);
}
});
});
}
});
clearInterval(checkexist);
}, 7000);
已编辑
下面的 HTML 片段:
<div id="player-ticket-content">
<button class="btn btn-small" style="display: none; opacity: 1;">Merge</button>
<div class="loading" style="opacity: 0; display: none;">
<div class="spinner dotted"></div>
</div>
<div class="ticket-holder" style="display: block;">
<div class="tooltip-holder">
<ul class="tickets " style="display: block; max-height: 90px; opacity: 1;">
<li>
<input type="checkbox" name="ticket[]" value="40070921" disabled="disabled">
<a class="ticket zd" href="https://company.zendesk.com/agent/tickets/40070921" id="ticket-40070921"> <span class="ticket_status_label solved">solved</span> <span class="similarity" title="Similarity of ticket tags" style="background-color: rgb(255, 255, 255);"> <i class="icon-star"></i> </span> <span class="subject"><span>hello?</span></span>
</a>
</li>
<li>
<input type="checkbox" name="ticket[]" value="39711568" disabled="disabled">
<a class="ticket zd" href="https://company.zendesk.com/agent/tickets/39711568" id="ticket-39711568"> <span class="ticket_status_label closed">closed</span> <span class="similarity" title="Similarity of ticket tags" style="background-color: rgb(255, 174, 174);"> 78% </span> <span class="subject"><span>hello again!</span></span>
</a>
</li>
<li>
<input type="checkbox" name="ticket[]" value="21875024" disabled="disabled">
<a class="ticket zd" href="https://company.zendesk.com/agent/tickets/21875024" id="ticket-21875024"> <span class="ticket_status_label closed">closed</span> <span class="similarity" title="Similarity of ticket tags" style="background-color: rgb(255, 241, 241);"> 44% </span> <span class="subject"><span>woop woop</span></span>
</a>
</li>
</ul>
<div class="ticket-tip" id="ticket-tip-40070921" style="top: 24px; left: 3px; display: none;"> <span class="nub"><span></span></span>
<div class="comment">
<ul>
<li><strong>Date:</strong> Apr 22, 2019</li>
<li><strong>Assignee:</strong> Rufio</li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>test!</p>
</div>
</div>
<div class="ticket-tip" id="ticket-tip-39711568" style="top: 48px; left: 3px; display: none;"> <span class="nub"><span></span></span>
<div class="comment">
<ul>
<li><strong>Date:</strong> Mar 26, 2019</li>
<li><strong>Assignee:</strong> Rufio</li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>hello hello!</p>
</div>
</div>
<div class="ticket-tip" id="ticket-tip-21875024" style="top: 72px; left: 3px; display: none;"> <span class="nub"><span></span></span>
<div class="comment">
<ul>
<li><strong>Date:</strong> May 28, 2016</li>
<li><strong>Assignee:</strong> Robert</li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>It's me again!
</p>
</div>
</div>
</div>
</div>
</div>
最佳答案
(mainarea.value = fancyID)
是一个赋值。你想要的是一个比较。使用 (mainarea.value === fancyID)
。另外,您没有考虑 tickethref.id
是否真的匹配 fancyID
,它只是为所有 tickethref
着色。
你需要改变if条件
if ((mainarea.value === fancyID && tickethref.id.includes(fancyID))) {
tickethref.style.backgroundColor = "#99ff66";
console.log(mainarea.value);
}
var checkexist = setInterval(function() {
var tickets = document.querySelectorAll("[id^=ticket-tip-] > div > ul > li");
tickets.forEach(ticket => {
if (ticket.innerHTML.indexOf("Rufio") !== -1) {
var ticketid = ticket.parentNode.parentNode.parentNode.id;
var fancyID = ticketid.replace("ticket-tip-", "");
var mainareas = document.querySelectorAll(
"[id^=player-ticket-content] > div.ticket-holder > div > ul > li > input"
);
var tickethrefs = document.querySelectorAll(
"[id^=player-ticket-content] > div.ticket-holder > div > ul > li > a"
);
mainareas.forEach(mainarea => {
tickethrefs.forEach(tickethref => {
if ((mainarea.value === fancyID && tickethref.id.includes(fancyID))) {
tickethref.style.backgroundColor = "#99ff66";
console.log(mainarea.value);
}
});
});
}
});
clearInterval(checkexist);
}, 100);
<div id="player-ticket-content">
<div class="ticket-holder" style="display: block;">
<div class="tooltip-holder">
<ul class="tickets " style="display: block; max-height: 90px; opacity: 1;">
<li>
<input type="checkbox" name="ticket[]" value="40070921" disabled="disabled">
<a class="ticket zd" href="https://companyname.zendesk.com/agent/tickets/40070921" id="ticket-40070921"> <span class="ticket_status_label solved">solved</span> </a>
</li>
<li>
<input type="checkbox" name="ticket[]" value="39711568" disabled="disabled">
<a class="ticket zd" href="https://companyname.zendesk.com/agent/tickets/39711568" id="ticket-39711568"> <span class="ticket_status_label closed">closed</span> </a>
</li>
<li>
<input type="checkbox" name="ticket[]" value="21875024" disabled="disabled">
<a class="ticket zd" href="https://company.zendesk.com/agent/tickets/21875024" id="ticket-21875024"> <span class="ticket_status_label closed">closed</span> <span class="similarity" title="Similarity of ticket tags" style="background-color: rgb(255, 241, 241);"> 44% </span> <span class="subject"><span>text here!</span></span>
</a>
</li>
</ul>
<div class="ticket-tip" id="ticket-tip-40070921" style="top: 22px; left: 3px; display: none;">
<div class="comment">
<ul>
<li><strong>Date:</strong> Apr 22, 2019</li>
<li><strong>Assignee:</strong> Rufio </li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>text here!</p>
</div>
</div>
<div class="ticket-tip" id="ticket-tip-39711568" style="top: 26px; left: 3px; display: none;"> <span class="nub"><span></span></span>
<div class="comment">
<ul>
<li><strong>Date:</strong> Mar 26, 2019</li>
<li><strong>Assignee:</strong> Rufio</li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>more text!</p>
</div>
</div>
<div class="ticket-tip" id="ticket-tip-21875024" style="top: 50px; left: 3px; display: none;"> <span class="nub"><span></span></span>
<div class="comment">
<ul>
<li><strong>Date:</strong> May 28, 2016</li>
<li><strong>Assignee:</strong> Robert</li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>Oh hey, text!</p>
</div>
</div>
</div>
</div>
</div>
我觉得你的 for 循环是不必要的。如果您使用 id,它们应该是唯一的。我修改了它以使其更简单。请参阅 tickethref
选择器。
var checkexist = setInterval(function() {
var tickets = document.querySelectorAll("[id^=ticket-tip-] > div > ul > li");
tickets.forEach(ticket => {
if (ticket.innerHTML.indexOf("Rufio") !== -1) {
var ticketid = ticket.parentNode.parentNode.parentNode.id;
var fancyID = ticketid.replace("ticket-tip-", "");
var tickethref = document.querySelector(
`[id^=player-ticket-content] > div.ticket-holder > div > ul > li > a[id=ticket-${fancyID}]`
);
if (tickethref) {
tickethref.style.backgroundColor = "#99ff66";
}
}
});
clearInterval(checkexist);
}, 100);
<div id="player-ticket-content">
<div class="ticket-holder" style="display: block;">
<div class="tooltip-holder">
<ul class="tickets " style="display: block; max-height: 90px; opacity: 1;">
<li>
<input type="checkbox" name="ticket[]" value="40070921" disabled="disabled">
<a class="ticket zd" href="https://companyname.zendesk.com/agent/tickets/40070921" id="ticket-40070921"> <span class="ticket_status_label solved">solved</span> </a>
</li>
<li>
<input type="checkbox" name="ticket[]" value="39711568" disabled="disabled">
<a class="ticket zd" href="https://companyname.zendesk.com/agent/tickets/39711568" id="ticket-39711568"> <span class="ticket_status_label closed">closed</span> </a>
</li>
<li>
<input type="checkbox" name="ticket[]" value="21875024" disabled="disabled">
<a class="ticket zd" href="https://company.zendesk.com/agent/tickets/21875024" id="ticket-21875024"> <span class="ticket_status_label closed">closed</span> <span class="similarity" title="Similarity of ticket tags" style="background-color: rgb(255, 241, 241);"> 44% </span> <span class="subject"><span>text here!</span></span>
</a>
</li>
</ul>
<div class="ticket-tip" id="ticket-tip-40070921" style="top: 22px; left: 3px; display: none;">
<div class="comment">
<ul>
<li><strong>Date:</strong> Apr 22, 2019</li>
<li><strong>Assignee:</strong> Rufio </li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>text here!</p>
</div>
</div>
<div class="ticket-tip" id="ticket-tip-39711568" style="top: 26px; left: 3px; display: none;"> <span class="nub"><span></span></span>
<div class="comment">
<ul>
<li><strong>Date:</strong> Mar 26, 2019</li>
<li><strong>Assignee:</strong> Rufio</li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>more text!</p>
</div>
</div>
<div class="ticket-tip" id="ticket-tip-21875024" style="top: 50px; left: 3px; display: none;"> <span class="nub"><span></span></span>
<div class="comment">
<ul>
<li><strong>Date:</strong> May 28, 2016</li>
<li><strong>Assignee:</strong> Robert</li>
<li><strong>Requester:</strong> Customer</li>
</ul>
<p>Oh hey, text!</p>
</div>
</div>
</div>
</div>
</div>
关于javascript - 如何比较来自不同元素的 2 个值并仅对具有匹配值的元素采取行动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55931152/
我的类有一个 foo 方法和一个 main 方法,其中有一些变量和一个 print 语句。 public static boolean foo(int x, boolean b) { if (
我正在尝试对每几列取行平均值。这是一个示例数据集。 d = {'2000-01': range(0,10), '2000-02': range(10,20), '2000-03': range(10,
在 Nsight Visual Studio 中,我们将有一个图表来呈现“已采取”、“未采取”和“分歧”分支的统计信息。我对“不采取”和“分歧”之间的区别感到困惑。例如 kernel() { if
在 Nsight Visual Studio 中,我们将有一个图表来呈现“已采取”、“未采取”和“分歧”分支的统计信息。我对“不采取”和“分歧”之间的区别感到困惑。例如 kernel() { if
int main() { long int i,t,n,q[500],d[500],s[500],res[500]={0},j,h; scanf("%ld",&t); whil
我在 Linux 上使用 racket v6.5 repl 并尝试运行流教程中的 take 函数示例 https://docs.racket-lang.org/functional-data-stru
tl;博士无法在 ggpairs 中获得独立的图例(描述整个情节的常用颜色)令我满意。 对不起,长度。 我正在尝试使用 GGally::ggpairs 绘制(下三角形)对图(用于绘制各种绘图矩阵的扩展
几个月前我问过this question 。我想添加一个具有不同背景的相同 div。我想知道为什么 jQuery 在第二个 div 中不起作用?我发现仅当我单击第二个 div 中的小图像时,图像才会在
引用Performing a right join in django ,当我尝试类似的方法时(字段略有不同): class Student: user = ForeignKey(User)
所以我使用带有 Action Sheet 样式的 UIAlertController 来显示两个选项,一个用于取消操作,另一个用于删除数据。按钮工作正常,删除按钮工作,操作表关闭。我的问题是,在后台从
我有一个列表,其中每个单元格都是一个可放置的对象,可以接受某个类的可拖动对象。该表的边框是可见的,但我不希望固定大小的单元格着色且可见,这对我来说很难看。当我拖动一个可拖动对象与一个单元格相交时,该单
我有一个 RDD,它是通过读取一个大小约为 117MB 的本地文本文件形成的。 scala> rdd res87: org.apache.spark.rdd.RDD[String] = MapPart
如果我们有 n 级台阶并且我们可以一次上 1 或 2 级台阶,则台阶数和攀登台阶的方式之间存在斐波那契关系。当且仅当我们不认为 2+1 和 1+2 不同。 但是,情况不再如此,我们还必须添加第三个选项
var query = from ch in Client.wcf.context.CashHeading where ch.Id_customer == customern//cc.Id
我是一名优秀的程序员,十分优秀!