$('div',$(this).parents('div:first'))//这一句不懂
时间:2009-06-15
来源:互联网
<script type="text/javascript">
$(function(){
$('fieldset div div').hide();//隐藏子菜单
$(':checkbox').click(function(){//为复选框添加click事件
var checked = this.checked;//复选框状态
$('div',$(this).parents('div:first'))//这一句不懂
.css('display',checked ? 'block':'none');
$('input[type=text]',$(this).parents('div:first'))
.attr('disabled',!checked)
.css('color',checked ? 'black' : '#f0f0f0')
.val(1)
.change()
.each(function(){ if (checked) this.focus(); });
});
$('span[price] input[type=text]').change(function(){
$('~ span:first',this).text(
$(this).val() *
$(this).parents("span[price]:first").attr('price')
);
});
$('span[price] input[type=text]').change();
});
</script>
<body>
<fieldset>
<div>
<label>
<input type="checkbox" name="appetizers" value="imperial"/> Fried Imperial rolls (2)
</label>
<span price="3">
<input type="text" name="imperial.quantity" disabled="disabled" value="1"/>$<span></span>
</span>
<div>
<label>
<input type="radio" name="imperial.option" value="pork" checked="checked"/>Pork
</label>
<label>
<input type="radio" name="imperial.option" value="vegetarian"/>Vegetarian
</label>
</div>
</div>
</body>
$(function(){
$('fieldset div div').hide();//隐藏子菜单
$(':checkbox').click(function(){//为复选框添加click事件
var checked = this.checked;//复选框状态
$('div',$(this).parents('div:first'))//这一句不懂
.css('display',checked ? 'block':'none');
$('input[type=text]',$(this).parents('div:first'))
.attr('disabled',!checked)
.css('color',checked ? 'black' : '#f0f0f0')
.val(1)
.change()
.each(function(){ if (checked) this.focus(); });
});
$('span[price] input[type=text]').change(function(){
$('~ span:first',this).text(
$(this).val() *
$(this).parents("span[price]:first").attr('price')
);
});
$('span[price] input[type=text]').change();
});
</script>
<body>
<fieldset>
<div>
<label>
<input type="checkbox" name="appetizers" value="imperial"/> Fried Imperial rolls (2)
</label>
<span price="3">
<input type="text" name="imperial.quantity" disabled="disabled" value="1"/>$<span></span>
</span>
<div>
<label>
<input type="radio" name="imperial.option" value="pork" checked="checked"/>Pork
</label>
<label>
<input type="radio" name="imperial.option" value="vegetarian"/>Vegetarian
</label>
</div>
</div>
</body>
作者: isjquery 发布时间: 2009-06-15
$(':checkbox').click
这个里面的this就是触发事件的checkbox
$(this).parents('div:first')就是这个checkbox的第一个div父元素
$('div',$(this).parents('div:first'))就是这个div父元素中的所有div子元素
这个里面的this就是触发事件的checkbox
$(this).parents('div:first')就是这个checkbox的第一个div父元素
$('div',$(this).parents('div:first'))就是这个div父元素中的所有div子元素
作者: keakon 发布时间: 2009-06-15
引用
引用第1楼keakon于2009-06-15 10:14发表的 :
$(this).parents('div:first')就是这个checkbox的第一个div父元素
$(this).parents('div:first')就是这个checkbox的第一个div父元素
<div id='div1'>
<div id='div2'><p></p></div>
<div id='div3' class='a'><p></p></div>
<div id='div4'><p></p></div>
</div>
$('p').parent()取到的是div2,div3,div4
$('p').parent('.a')取到的是div3
$('p').parent().parent()取到的是div1,这点比较奇特;不过Jquery对象本身的特点决定了这是可行的。
$('p').parents()取到的是div1,div2,div3,div4
$('p').parents('.a')取到的是div3
<fieldset>
<legend>Appetizers</legend>
<div> <!--你说的第一个父元素是指这个这个元素?-->
$('div',$(this).parents('div:first'))//这句是怎么选到父元素下的所有子div?
我对$('...','...');这个写法不是很理解,能否举个简单的例子 谢谢~
作者: isjquery 发布时间: 2009-06-15
$(a, b)
相当于
$(b).find(a)
相当于
$(b).find(a)
作者: keakon 发布时间: 2009-06-15
哈哈,这一下终于理解了! $('div',$(this).parents('div:first'))
第一个参数是一个选择器 选择第二个参数中集合中的 一个元素 ,
第二个参数是要选择大范围的集合
第一个参数是一个选择器 选择第二个参数中集合中的 一个元素 ,
第二个参数是要选择大范围的集合
作者: charmred 发布时间: 2009-08-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28