首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery根据span中的文本选择div中的元素

Jquery根据span中的文本选择div中的元素
EN

Stack Overflow用户
提问于 2010-06-15 03:54:22
回答 1查看 374关注 0票数 0

标记:

代码语言:javascript
复制
<div class="day">
        <span>1</span>
        <div class="icon-shop icon-blank"><p class="event-details" id="shop-1"></p></div>
        <div class="icon-eat icon-blank"><p class="event-details" id="eat-1"></p></div>
        <div class="icon-fun icon-blank"><p class="event-details" id="fun-1"></p></div>
        <div class="icon-scoop icon-blank"><p class="event-details" id="scoop-1"></p></div>
</div>
<div class="day">
        <span>2</span>
        <div class="icon-shop icon-blank"><p class="event-details" id="shop-2"></p></div>
        <div class="icon-eat icon-blank"><p class="event-details" id="eat-2"></p></div>
        <div class="icon-fun icon-blank"><p class="event-details" id="fun-2"></p></div>
        <div class="icon-scoop icon-blank"><p class="event-details" id="scoop-2"></p></div>
</div>

这是一个日历,我正在拉入事件数据。

例如:如果一个事件发生在商店类别中的第2天,那么我需要从以下位置删除.icon-blank类:

代码语言:javascript
复制
<div class="icon-shop icon-blank"><p class="event-details" id="shop-2"></p></div>

需要成为

代码语言:javascript
复制
<div class="icon-shop"><p class="event-details" id="shop-2"></p></div>

这就是我想要做的:我在第二天有一个商店类别的活动。

代码语言:javascript
复制
var cat = 'shop';
var day = '2';

    $(".day").find("span:contains('"  + day + "') > .icon-" + cat).removeClass('icon-blank');

上面的代码我试图选择合适的日期div (带有文本"2“的跨度的一天,然后在那一天内选择div..icon shop。如果这有任何意义的话,哈哈。谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-15 04:03:03

不要使用:contains(),因为12也包含2。最好写一个小的过滤器:

代码语言:javascript
复制
var cat = 'shop';
var day = '2';

$("div.day span").filter( function() { 
  return $.trim( $(this).text() ) == day;
}).parent("div").find("div.icon-"+cat).removeClass('icon-blank');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3040420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档