有没有办法制作切换功能,首先切换一个css样式元素,例如背景颜色或类似的东西。我选择了一个id而不是一个类,因为我知道了toggleClass,但我只是想知道是否可以用ids代替它?
$("#gallery").load('http://localhost/index.php/site/gallerys_avalible/ #gallerys_avalible');
$('li').live('click', function(e) {
e.preventDefault();
if(!clickCount >=1) {
$(this).css("background-color","#CC0000");
clickCount++;
}
console.log("I have been clicked!");
return false;
});
答案 0 :(得分:3)
你真的应该使用类。 ID在页面中是唯一的,应该用作捕获事件的点(通过$.live()
或其他使用事件委派的方法)。此外,如果您考虑使用ID,因为它们在CSS规则中具有更高的特异性,那么您的方法是错误的。
简而言之:糟糕的主意,坚持切换课程。
答案 1 :(得分:2)
在阅读OP的评论后 - 我相信这正是他正在寻找一种突出点击“活跃”链接的方法。是的,teresko肯定是你应该切换课程,而不是ID。
这是您可能正在寻找的jQuery代码段的精髓:
$("li").bind('click', function(){
// remove the active class if it's there
if($("li.active").length) $("li.active").removeClass('active');
// add teh active class to the clicked element
$(this).addClass('active');
});
这有点令人困惑,因为在jQuery切换上进行简单的谷歌搜索会带您进入显示/隐藏切换文档。但是,.toggle()
可用于替代功能 - 您甚至可以添加两个以上的功能。
$("el").toggle(
function(){
$(this).css('background-color', 'red');
},
function(){
$(this).css('background-color, ''); // sets the bg-color to nothing
});
答案 2 :(得分:0)
jQuery不具有toggleId()函数。但是您可以创建自己的id切换功能。
function toggleId(className,id)
{
var tag = document.querySelector('.'+className);
tag.id = tag.getAttribute("id") ? '' : id;
}
toggleId("myClass","id");
这将切换myClass元素的id(id和NULL)。
假设您要在元素的id(id1和id2)之间切换,然后
function toggleId(className,id1,id2)
{
var tag = document.querySelector('.'+className);
tag.id = tag.getAttribute("id") ? id2 : id1;
}
toggleId("myClass","id1","id2");