问题和代码
我正在尝试以下代码:
1
当我检查控制台中的$('.rdsubs-mysubscriptions table tbody tr td a').each(function() {
var subItem = $(this).html();
//console.log(subItem);
var subItemStripped = subItem.substring(12);
console.log(subItemStripped);
$('body').find('span:contains("subItemStripped")').addClass('HELLO');
}); // end of each function
时,它会显示以下内容:
subItemStripped
(至少在我的脑海中,这意味着)对于Framework
Content
Slideshow
内部的每个span
,它应该找到其中一个body
并找到匹配项应该添加类subItemStripped
,但是这没有发生。
其实什么也没发生。
当我更改此行时:
hello
到
$('body').find('span:contains("subItemStripped")').addClass('HELLO');
效果很好。因此,我是否将变量$('body').find('span:contains("Framework")').addClass('HELLO');
放错了位置或与subItemStripped
函数有关。
我尝试了以下操作以使其正常工作
使用上面的代码,我来到这里之前尝试了几种变体:
.each()
我还尝试了使用从其他SO帖子收集的完全不同的代码集进行尝试,但这些代码均无效。为什么我不知道。
$('body').find('span:contains(subItemStripped)').addClass('HELLO');
$('body').find("span:contains('subItemStripped')").addClass('HELLO');
我为什么需要这个
我知道我不必解释为什么我需要这样做,但是如果上述不可行,它对于提出其他好主意可能很有用。
我有一个网页,在该页面上是一个菜单,其中包含用户可以访问的产品,他们可以下载这些产品。
每个菜单项都有一个带有标题的跨度。这些标题的构建方式如下:$("span").filter(function() {
return $(this).text() === subItemStripped;
}).addClass("hello");
$("span").filter(function() {
return $(this).text() === subItemStripped;
}).css("font-size", "6px");
Framework
Content
在同一页面上还显示了所有用户订阅的组件。
通过上面的代码,我可以查看用户的所有订阅。哪个返回
Slideshow
CompanyName Framework
CompanyName Content
然后我剥离CompanyName Slideshow
我不知道的所有菜单内的部件。这给我留下了.substring(12)
Framework
Content
这时,我知道某些菜单标题和被剥离的项目是相同的,对于每次匹配,我都想添加一个类,然后可以在该类上添加一些CSS或其他内容。
希望这个问题很清楚,在此先感谢大家的帮助。
答案 0 :(得分:1)
@gaetanoM您完全正确。在我发布问题之后,我就来到了这个网站: jQuery contains() with a variable syntax
找到与您说的答案相同的答案!
$('body').find("span:contains('" + subItemStripped + "')").addClass('HELLO');
非常感谢!
@gaetanoM您可以在答案中发表评论吗?然后,我可以选择它作为接受的答案。我现在回答这个问题只是为了确保它有一个答案。随着人们因提出无法获得答案的问题而受到惩罚。