从子元素的标题中获取一个HTML元素

4

我有一个列表,其中有一个活动类元素

<ul class="tabs clearfix" >
<li>  
  <a title="abc" href=# >ABC</a> 
</li>
<li>
  <a title="xyx" href=# >XYZ</a>
</li>
<li class=active > 
  <a title="all" href=# >All</a> 
</li>

我正在使用本地存储来存储标签的标题,然后根据该标题加载内容。当我从本地存储中获取标题时,我很难获得特定的li元素。我想将一个活动类添加到与特定标题对应的li元素中。以下是JavaScript代码:

$(document).ready(function(){
var tabs = $('.tabs > li');
if (localStorage.getItem("tabIndex") === null) {
    $( "#content" ).load( "{{url_for('mypage', query=query)}}" );
}else{
    var lastIndex = localStorage.getItem('tabIndex');
    **Do something to get the specific li element for the title**
    **addclass('active') for the li**
    LoadContent(lastIndex);
} 
tabs.on("click", function(){
    tabs.removeClass('active');
    localStorage.setItem('tabIndex', $('a', this).attr('title'));
    $(this).addClass('active');
    var index = $(this).children('a')[0].title;
    LoadContent(index);
})
});

我尝试了$("a[title=lastIndex]").parent().addClass('active');但好像不起作用。像往常一样,我非常感谢这个网站提供给我的所有帮助。谢谢


这里缺少 </ul> 是一个笔误吗?这里缺少分号是一个笔误吗:}) - 我假设星号注释只是您希望实现的位置/内容的指示符... - Mark Schultheiss
是的,你的假设是正确的。不好意思,我在粘贴代码时错过了标签。下面的答案解决了我的问题。 - Fizi
1个回答

4
您可以使用$('a[title="'+ lastIndex +'"]')来获取所需的元素,
例如:假设您的lastIndex = xyz,则选择器变为$('a[title="xyz"]')

2
最好在标题属性中添加内部双引号,以便允许任何特殊字符(空格、减号等)。 - iCollect.it Ltd
请问您能否详细说明加号的作用。我只在网上看到过使用a ['<titlename>']来选择项目的示例。 - Fizi
好的,我现在明白了。谢谢。 - Fizi
所以,如果您的lastIndex = xyz,那么选择器就变成了$('a[title="xyz"]') - joyBlanks
抱歉,现在已经更新了,应该是title="xyx"。请检查更新后的内容,谢谢。之前有笔误。 - joyBlanks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接