我想检查一个元素是否具有类.active,如果它确实添加:margin-top:4px;
但是我只希望发生一次,当页面加载时,一旦检测到类,我不想再次检测它并添加CSS样式。
当某些元素悬停在其上时,将应用此类。
这在jQuery中是否可行?
答案 0 :(得分:22)
查看one事件。记录的例子:
$('#foo').one('click', function() {
alert('This will be displayed only once.');
});
答案 1 :(得分:3)
这将在页面加载时触发一次
$(function(){
if ($("#elementid").hasClass("active"))
{
$("#elementid").css("margin-top", "4px");
}
});
答案 2 :(得分:2)
我通常这样做的方式是:
(function($) {
// my custom function to process elements
function myProcessFunction(context) {
// get context
context = context || document;
// select elements within the context, filter out already processed ones
// loop through remained (unprocessed) elements
// '.my-class' - selector for the elements I want to process
$('.my-class:not(.my-class-processed)', context).each( function(i.e){
// mark the element as processed
$(e).addClass('my-class-processed');
// add process code here
});
}
// run myProcessFunction on document.ready
$(document).ready( function(){
myProcessFunction();
});
})(jQuery);
这样我有:
希望这有帮助)