所以我知道如何做这样的事情,但我有多个元素,我的.each(函数()正在运行,我需要确保只有包含跨度“24小时开启”的.modules触发更改div“总是开放”,我无法弄清楚我做错了什么
if (thisTimeSet === 'Open 24 hours'){
$(this).siblings("div").text("ALWAYS OPEN"); }
该应用的完整工作演示:http://jsfiddle.net/DxaV7/ 我有很多评论,因为我对js很新,我需要自己走自己的事情(newb)
感谢您提供的任何帮助!
答案 0 :(得分:3)
试试这个: -
问题在于您有多个具有相同文本的跨度,因此您的===
不匹配。我只是使用indexOf来查找atlease的实例,这意味着它是“Always Open”
if (thisTimeSet.indexOf('Open 24 hours') > -1) {
$(this).find('.openOrNot').text("ALWAYS OPEN");
}
要添加的另一件事是你不是在看.module
的兄弟姐妹,而是看孩子.openOrNot
。所以你需要使用find来降低,而不是使用siblings
来查看对等体。
编辑: - 根据您的评论,您可以选择仅可见的跨度
var thisTimeSet = $(this).children("span:visible").text();
答案 1 :(得分:0)
if (thisTimeSet === 'Open 24 hours'){
$(this).siblings("div:contains('ALWAYS OPEN')"); }