gpt4 book ai didi

javascript - 在 jQuery .each 循环中比较字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:53:00 26 4
gpt4 key购买 nike

我正在尝试根据项目的文本内容向列表项添加一个类 - 这是一种在动态生成的菜单中突出显示项目的解决方法,但该类会应用于所有列表项。是否因为我在比较两种不同类型的变量而出错?

    $(document).ready(function() {  
$('article[id^=post]').filter(function(){
var categorySelected = this.className.match(/\bcategory-\w+\b/).toString();
var trimmed = categorySelected.replace(/^category-/,'');
if ( $(this).hasClass(trimmed) ) {
alert ('article has category = true, location = ' + trimmed );
$('div#categories-3 li').each(function(index) {
var listItem = $(this).text().toLowerCase().replace(' ','-').toString();
if ( listItem = trimmed ) {
alert ('listItem = ' + listItem + ' trimmed = ' + trimmed);
$(this).addClass('current-cat');
};
});
};
});
});

..感谢您的建议,已经进行了更改并进行了更多诊断,但仍然无法取得突破。在此版本中,永远不会添加“current-cat”类:

    $(document).ready(function() {  
$('article[id^=post]').filter(function(){
var categorySelected = this.className.match(/\bcategory-\w+\b/).toString();
var trimmed = categorySelected.replace(/^category-/,'');
if ( $(this).hasClass(trimmed) ) {
alert ('article has category = true\nlocation = ' + trimmed + '\ntrimmed var is type of ' + (typeof trimmed) );
$('.cat-item').each(function(index) {
$(this).addClass('item-' + index);
var listItem = $(this).text().toLowerCase().replace(' ','-');
alert ( 'listItem var is type of ' + typeof listItem ) ;
if ( listItem == trimmed ) {
alert ('listItem = ' + listItem + ' trimmed = ' + trimmed);
$(this).addClass('current-cat');
}

});
};
});
});

这是它的 HTML:

    <div id="container">
<article id="post-49" class="post-49 post type-post status-publish format-standard hentry category-reykjavik reykjavik photograph">
some content
</article>
<div id="categories-3" class="widget widget_categories">
<h4 class="widgettitle">
Location
</h4>
<ul>
<li class="cat-item cat-item-1">
<a href="#">
Havana
</a>
</li>
<li class="cat-item cat-item-3">
<a href="#">
London
</a>
</li>
<li class="cat-item cat-item-13">
<a href="#">
Reykjavík
</a>
</li>
</ul>
</div>
</div>

最佳答案

if ( listItem = trimmed ) 更改为 if ( listItem == trimmed )

关于javascript - 在 jQuery .each 循环中比较字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8164449/

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