【发布时间】:2013-08-19 00:34:11
【问题描述】:
我正在尝试使用 JQuery 在悬停时将导航元素从“ME”更改为
但是,它会永久隐藏我的原始文本。有谁知道我做错了什么? (总的来说,我对 JQuery/JS 非常陌生)
【问题讨论】:
-
我能否确切地问一下您在该示例中要对列表元素做什么?只需为每个添加一个悬停状态?
标签: javascript jquery html
我正在尝试使用 JQuery 在悬停时将导航元素从“ME”更改为
但是,它会永久隐藏我的原始文本。有谁知道我做错了什么? (总的来说,我对 JQuery/JS 非常陌生)
【问题讨论】:
标签: javascript jquery html
no js required 的经典案例,可以使用 CSS 伪类,具体来说:
:hover :before:afterli a:before {
content: "<";
display: none;
}
li a:after {
content: ">";
display: none;
}
li a:hover:before {
display: inline;
}
li a:hover:after {
display: inline;
}
【讨论】:
试试这个。我已经编辑了你的代码
$( function() {
var text;
$("#topnav li ").hover(
function () {
text=$(this).find("a").text();
$(this).find("a").text($(this).attr('full'));
},
function () {
$(this).find("a").text(text);
}
);
});
希望这会有所帮助 谢谢
【讨论】:
我同意@Nirazul,如果可以,请选择纯 css 解决方案。
如果你不能,请记住你是:
所以:
$( function() {
$("#topnav li").hover(
function () {
var myLi = $(this);
myLi.attr('small', $('a', myLi).text());
$('a', myLi).text(myLi.attr('full'));
},
function () {
var myLi = $(this);
$('a',myLi).text(myLi.attr('small'));
}
);
});
更新example。
【讨论】: