yjiang's cake

jquery 与 json的content-type

当foo.json页面的content-type:text/html

Example:
    $.get('/foo.json', function(data){
       console.log(typeof(data));
    })
    //string类型
jquery接收的数据需要使用JSON.parse(data)转换为对象

当foo.json页面的content-type:application/json

Example:
    $.get('/foo.json', function(data){
       console.log(typeof(data));
    })
    //object类型
jquery接收的数据无需转换

jquery操作checkbox的问题

$("input:checkbox").prop("checked")
$("input:checkbox").is(":checked")          #判断checkbox是否选中 true or false

$("input:checkbox").attr("checked", true)
$("input:checkbox").attr("checked", false)  #给input增加checked属性

$("input:checkbox").prop("checked", true)   #选中checkbox而不增加checked属性

还有一种
$("input:checkbox").attr("checked", "checked") 也是增加checked属性,但上面的更规范些.

附prop的官方说明

Properties 属性一般影响 DOM 元素的动态状态并不会改变序列化的 HTML attribute 属性。
例如,input 元素的 value 属性,input 和 按钮 元素的 disabled 属性, 以及 checkbox 的 checked 属性。应该使用 .prop() 方法设置 disabled 和 checked 属性,而不是使用 .attr() 方法。 .val() 方法应该用于存取 value 值。

jquery提交状态等待效果

$.ajax({
		type		:	"POST",
		url			:	postUrl,
		data		:	data,
		beforeSend	:	function(){
			$('.'+type+'_watting').show();
			errMsg.text(' 正在绑定..');
		},
		success		:	function(result){
			console.log(result);
			$('.'+type+'_watting').hide();
			errMsg.text(result.err_msg);
			if (result.result == 'false'){
				$("#con_submit").hide();
			}
			else{
				$("#con_submit").show();
			}
		}
	});

beforeSend属性可实现此效果
 

jquery选择器中的空格、大于号、加号与波浪号

空格:$('parent child')表示获取parent下的所有的child

大于号:$('parent > child')表示获取parent下的所有子元素child,但不包括子元素下的子元素

加号:$('pre + nextbrother')表示获得pre节点的下一个兄弟节点,相当于next()方法

波浪号:$('pre ~ brother')表示获取pre节点的后面的所有兄弟节点,相当于nextAll()方法

 

 

 

Copyright © 2016 yjiang's cake

返回顶部