我正在测试一堆内容,而不是处理多个页面,而是从一个索引页面中使用PHP加载每个元素。每个“页面”都有一段带有面包屑行的代码。我正在尝试使用JavaScript定位“当前”位置行,并将其替换为其父ID以显示当前位置。
这是我已经尝试过的:JSfiddle
$('.show #filter.menu').each(function() {
var parID = $(this).parent().attr('id');
var parCL = $(this).parent().attr('class');
if (parCL.search('show'))
$('.menu .breadcrumbs .current').text($(this).text().replace('Here', parID));
});
理想情况下,我希望将“此处”替换为面包屑父母ID的内容。如:首页|存档或首页|人。
但是我却得到了首页|主页存档。
我不确定是怎么回事。
谢谢
答案 0 :(得分:1)
问题出在这一行:
$('.menu .breadcrumbs .current').text($(this).text().replace('Here', parID));
在上下文中,$(this)
是指从第一行开始的循环的当前元素。因此$(this).text()
返回“ Home Here”,因为两个单词在id为“ filter”的同一节宽度中。然后,您的代码将替换父ID的“此处”宽度。结果就是“家庭档案”。
因此,不必替换“此处”,您只需将.current
的文本设置为父ID:
$('.menu .breadcrumbs .current').text(parID);