以下是Fiddle
不能让这个工作!我正在攻击Jquery.tabs()功能。希望标签文本在选中时变为粗体。不确定我做错了什么?
<div>
<ul id="tablist">
<li id ="li" aria-selected="true" >
<a id="ui-id-1" href="#tabs-Hobby">Hobby</a>
</li>
<li id="lw" aria-selected="false">
<a id="ui-id-2" href="#tabs-News">News</a>
</li>
</ul>
</div>
JQuery:
$(" ul li a").click(function()
{
if($("ul").find("li[aria-selected=true]")) {
$("ul").find("li[aria-selected=true]").attr("style", "font-weight:bold")
}
if($("ul").find("li[aria-selected=false]")) {
$("ul").find("li[aria-selected=true]").attr("style", "font-weight:normal")
}
});
答案 0 :(得分:1)
以下所有注释均基于您的jsFiddle。
请注意,此代码在开始时只运行一次,因此它只能运行一次:
if($("li[aria-selected=true")) {
$(this).css("font-weight", "bold");
}
此外,在你给我们的小提琴中,没有改变这个属性:aria-selected
此外,您在]
条件下的选择器上缺少if
。
更好的方法是不仅更改按钮点击的li
aria-selected
,还会给它一个CSS class
,例如'打开',例如。然后,在您的CSS上,为所有li
提供此类font-weight: bold
,您就完成了。
您应该开始使用Data而不是Attributes。
答案 1 :(得分:1)
试试这个:
$("ul li a").click(function()
{
if($(this).attr('id') == 'ui-id-1') {
$('#ui-id-1').css("font-weight", "bold");
$('#ui-id-2').css("font-weight", "normal");
} else {
$('#ui-id-1').css("font-weight", "normal");
$('#ui-id-2').css("font-weight", "bold");
}
});
答案 2 :(得分:0)
尝试使用此
$(" ul#tablist li a").click(function()
{
if($("ul#tablist").find("li[aria-selected=true]")) {
$("ul#tablist").find("li[aria-selected=true]").css("font-weight", "bold")
}
if($("ul#tablist").find("li[aria-selected=false]")) {
$("ul#tablist").find("li[aria-selected=true]").css("font-weight", "normal")
}
});
答案 3 :(得分:0)
分别使用.css('font-weight', 'bold')
和.css('font-weight', 'normal')
。