{我希望能够在正文中添加一个类,然后删除该类,并在点击'a tag'html元素时将其替换为新类,这是我已经得到的,添加了class,每次单击都会添加另一个类:
这可以通过检查一个选定类而不是.click
的链接来完成HTML:
<ul id="dates">
<li><a href="#" class="selected">link1</a></li>
<li><a href="#">link1</a></li>
<li><a href="#">link1</a></li>
<li><a href="#">link1</a></li>
</ul>
jQuery的:
$('ul#dates li a.selected').bind(function() }
var htmlStr = $(this).html();
$('body').attr('class', htmlStr);
});
答案 0 :(得分:2)
每次都完全替换class属性:
$('ul#dates li a').click(function() {
var htmlStr = $(this).html();
if( $(this).is('.selected') ) {
$('body').attr('class', htmlStr);
}
});
答案 1 :(得分:0)
你想要Jquery toggleClass
方法
http://api.jquery.com/toggleClass/
if ($(this).is(".foo"))
{
$(this).toggleClass("foo", false);
$(this).toggleClass("bar", true);
}
else
{
$(this).toggleClass("foo", true);
$(this).toggleClass("bar", false");
}
答案 2 :(得分:0)
您可以尝试在您的身体上设置data-X
属性,而不是类,例如$('body').attr('data-clicked-link-html-string', htmlStr);
。
答案 3 :(得分:0)
请检查:
$(document).ready(function(){
$('ul#dates li a').click(function() {
var htmlStr = $(this).text();
$('body').attr('class', '').addClass(htmlStr);
});
});
答案 4 :(得分:0)
jquery中的addclass方法,在你的css中使用一个预定义的类,只有类名是可以接受的, var htmlStr = $(this).html(); 这个得到像INNERHtml属性的html抓取元素中的所有html内容。 所以你最好宣布一个这样的类:
.aClass {
float:left;
}
并在jquery中执行:
$('body').addClass('aClass');