问题:js如何判断div元素是否隐藏,jquery如何判断元素是否处于隐藏状态
解决:使用jquery的is()方法
方法:
if($("#test").is(":hidden")){
alert(‘元素处于隐藏状态’);
}
或
if($("#test").is(":visible")){
alert('元素处于显示状态');
}
分类 "JavaScript" 下的文章
问题:jquery如何取消元素绑定的hover事件,如何增加元素hover事件
解决:取消绑定事件可以使用off()方法或unbind()方法,元素添加事件可以使用bind()方法或on()方法,但注意:hover并非是js事件,所以不能直接取消,需要使用mouseenter,mouseleave事件
方法:
因为jquery的hover事件,是mouseenter和mouseleave两个事件的合并,所以取消和绑定需要单独运用
$('#add-schedule-btn').click(function(){ $('#add-schedule-box').show(); $('#add-schedule-btn').off('mouseenter').off('mouseleave'); $('#add-schedule-btn').text('加课').css({'font-size':'15px'}); }); $('#add-schedule-btn').on({mouseenter:mouseenter, mouseleave:mouseleave}); function mouseenter(){ $('#add-schedule-btn').text('加课').css({'font-size':'15px'}); } function mouseleave(){ $('#add-schedule-btn').text('+').css({'font-size':'25px'}); } $('#add-schedule-cancel').click(function(){ $('#add-schedule-box').hide(); $('#add-schedule-btn').on('mouseenter', mouseenter).on('mouseleave', mouseleave); $('#add-schedule-btn').text('+').css({'font-size':'25px'}); });
问题:js中如何阻止点击子元素调用父元素事件
解决:这是js的事件冒泡,我们要在子元素处理完事件后,阻止它调用父元素事件
方法:
在子元素事件的末尾加上e.stopPropagation();
参考:http://www.cnblogs.com/jams742003/archive/2009/08/29/1556187.html
解决:select选取框,如何获得选中option的text和value值
解决:使用selected
方法:
<select id="w_grade" class="mgr_10">
<option
value="0">
年级
</option>
<option value="7">七年级</option>
<option value="8">八年级</option>
<option value="9">九年级</option> </select>
var grade_id = $('#w_grade').val(); var grade_name = $('#w_grade option:selected').text();
问题:在js中如何获取json数据的key
解决:使用for in
方法:
var data = {‘初一’:[1,2,3,4,5,6], '初二':[1,2,3,4,5,6,7]}
for(var k in data){
console.log(k);
}
这样就可以获取json的关键字key了