我有一组面包屑,每个面包屑的文本都与同名的列表项匹配
到目前为止,我成功了: 1)获取点击链接的文本, 2)将其与相应的列表项匹配 3)最初获取该列表项的名称属性 我遇到的麻烦是将名称属性BACK传递给点击的痕迹链接并将其附加到它的href(用于定位)
为什么我这样做? - 因为每个列表项都会滚动,并且会有几个结果,
用例是让用户单击一行 - 显示面包屑(这在此简化示例中未显示) - 如果用户滚动,他们可以单击面包屑,内容将滚动回那一行。
HTML
<div class="wayfinder"><a href="#">red</a>><a href="#">blue</a>><a href="#">green</a>
</div>
<ul> <a name="1"><li>red</li> </a>
<a name="2"><li>blue</li> </a>
<a name="3"><li>green</li> </a>
</ul>
脚本:
//listen on wayfinder specific link
// -I- get text from link clicked:
$('.wayfinder a').click(function () {
var wayget= $(this).text();
$(this).addClass('marker');
alert(wayget);
var _href = $(this).attr("href");
//pass the attribute to back to the wayfinder -This part isn't working-
$(this).attr("href", _href + 'listatrr');
// search list items for matching text mark it red to identify it
$('a li').each(function() {
if ($(this).text() == wayget) {
$(this).css('color', 'red');
$('li').not(this).css('color', 'black');
//get it's attribute:
var listatrr= $(this).parent().attr("name");
alert(listatrr);
//this produces an error
//$('.wayfinder a.marker').attr("href", + listatrr);
}
});
});
答案 0 :(得分:0)
以下是我更正的地方:
var listatrr = $(this).parent().attr("name");
//alert(listatrr);
$('.marker').attr("href", _href + listatrr);
这将重置事件:
$('.wayfinder a').mouseup(function () {
$('.marker').attr("href", '#');
});
<强>更新强>