Javascript jquery切换id';是上课吗?
有没有一种方法可以创建一个切换函数,首先只切换一个css样式的元素,比如背景色之类的。这会选择一个id而不是一个类,因为我知道toggleClass,但我只是想知道是否可以用id来代替Javascript jquery切换id';是上课吗?,javascript,jquery,css,Javascript,Jquery,Css,有没有一种方法可以创建一个切换函数,首先只切换一个css样式的元素,比如背景色之类的。这会选择一个id而不是一个类,因为我知道toggleClass,但我只是想知道是否可以用id来代替 $("#gallery").load('http://localhost/index.php/site/gallerys_avalible/ #gallerys_avalible'); $('li').live('click', function(e) { e.preventDefault(
$("#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;
});
你真的应该使用类来实现这一点。ID在页面中是唯一的,应该用作捕捉事件的点(通过
$.live()
或其他使用事件委派的方法)。此外,如果您考虑使用ID,因为它们在CSS规则中具有更高的特异性,那么您就走错了路
简言之:坏主意,坚持切换类。编辑:
在阅读了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');
});
查看jQueryAPI。 这有点让人困惑,因为在jQuery切换上进行一个简单的google搜索会让您看到显示/隐藏切换文档。但是,
.toggle()
可以用于替换函数-您甚至可以添加两个以上的函数
就像这样。。。
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之间切换的另一个示例
假设要在元素的两个id(id1和id2)之间切换,则
function toggleId(className,id1,id2)
{
var tag = document.querySelector('.'+className);
tag.id = tag.getAttribute("id") ? id2 : id1;
}
toggleId("myClass","id1","id2");
这很容易创建,但并不聪明。Id用于唯一标识单个元素。更改它们真是让人困惑。我不清楚你的问题。是否要切换使用id指定的对象的背景色?或者,是否要切换元素的实际id?切换id通常是错误的,也许你可以描述你真正想要完成的事情,我们可以提供更好的方法。切换元素的背景色。这很好,但你真的应该将CSS留给*.CSS文件的内容。这就是为什么您应该使用类进行切换。感谢函数,但有一个问题是,为什么需要单击两下才能使元素变为红色?另外,我还试图找到一种方法,使许多
function toggleId(className,id1,id2)
{
var tag = document.querySelector('.'+className);
tag.id = tag.getAttribute("id") ? id2 : id1;
}
toggleId("myClass","id1","id2");