无素中的onclick传递this到JQ中使用
<em class="comment yellow" οnclick="comment(this)">评论</em>
function comment(obj){
$(obj).slideToggle(100);
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jquery获取不到context对象
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jquery动态创建内容到DOM中后的事件绑定
当用JQ动态创建{append,appendTo,before,after}内容到DOM后事件绑定得用bind()才会有效【例如动态增删表格】
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jquery判断id是否隐藏
$("#menushowbody").is(":hidden")
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
点击空白处隐藏层,但当层显示时点击层本身不隐藏
<div id="btn"><登录</div>
<div id="showBox">我是要显隐的层</div>
$("#btn").click(function(oEvent){
$("#showBox").show();
//取消冒泡
oEvent = oEvent || window.event;
if(document.all){return false;
oEvent.cancelBubble = true;
}else{
oEvent.stopPropagation();
}})
$("body").click(function(){$("#showBox").hide()}) //点击空白处隐藏层
$("#showBox").click(function(){return false;}) //点击层本身不隐藏
纯JS实现:
document.onclick = function(){
//隐藏层代码
};
div.onclick = function(oEvent){
//取消冒泡
oEvent = oEvent || window.event;
if(document.all){
oEvent.cancelBubble = true;
}else{
oEvent.stopPropagation();
}
};
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
当一父元素设为display:none,那么用Jquery是获取不到子元素的宽与高的。无论是用height()或css("height");
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jquery jsonp调用实例:
项目用到跨域调取远程数据,jquery本身支持了跨域jsonp方式,在这里只把调用的实例说一下,简单说明jsonp的特点:
1.采用常规的ajax的方式是获取不到非当前域名的数据,即a.com 想获取b.com的数据只能用jsonp.
2.jsonp 采用的是异步的传输方式
3.jsonp 只能采用get传输数据
4.如果数据是中文或URL要传输到后台的时候,要用encodeURI和encodeURIComponentl转换一下才可以哦,http会自动解析成正确的数据。
页面调以下jquery:
var getUrl = "域名.com/test.php?format=json&type="+encodeURI('中文哦')+"&localUrl="+encodeURIComponent('http://www.baidu.com?test=3333')+"&jsoncallback=?";
jQuery.getJSON(getUrl, function(jpdata){
var jsonData = eval('('+jpdata+')');
var fileList = jsonData.data;
alert(fileList);
})
服务器端PHP代码:
$callback = ctype_alnum($_GET('jsoncallback'));
if(!$callback) exit("非法请求");
$text = json_encode(array('code' => 1,'message' =>"成功",'data'=>$_GET['type']));
return "$callback('$text');";