如何在jQuery中选择我的第一个孩子
how to select my first child in jQuery
在jQuery中选择第一个子项时遇到了一些问题。我这样做是为了避免有很多if语句。基本上,你点击一个按钮。这个类选择器是用来处理JS中的点击的。一旦你进入JS,我想得到刚刚点击的项目的子项,但我没有任何乐趣。
以下是我在JS中的内容:
$('.itemClicked').click(function(){
var id = $(this).attr('id').first();
// it can't find the method first() here. If I just find the id, I get the
// correct ID of what I just clicked.
var test = id.first();
// I tried the above to seperate the ID from the first() method request
// no joy with this either.
test.toggleClass("icon-tick");
// this is my ultimate aim, to toggle this icon-tick class on the item
// clicked.
});
如果你能在这里帮我,请提前谢谢。我可能只是在做一些愚蠢的事情,但我很难意识到这是什么。
当前版本不起作用,因为.attr('id')
只是将ID作为字符串而不是jQuery对象返回。此外,.first()
返回jQuery集合中的第一个项,而不是它们的子项。
所以,你只想:
var test = $(this).children().first();
或:
var test = $('>:first-child', this);
或:
var test = $(this).children(':first');
或(在较新的浏览器上):
var test = $(this.firstElementChild);
在Chrome25的jsperf测试中,.firstElementChild
方法非常快,但在MSIE<9..children()
.first()was the fastest portable option, and the
>:first-child方法非常非常慢。
也许
$('.itemClicked').click(function(){
$(':first-child',this).toggleClass('icon-tick');
});
就是你想要的。
现场示例:http://jsfiddle.net/ySMLG/
如果你只想在点击的项目上切换类"图标勾选",那么这将起作用:
$('.itemClick').click(function () {
$(this).toggleClass('icon-tick');
});
声明:
$(this).attr('id').first()
不起作用,因为attr()方法返回的是属性的值,而不是jQuery对象,所以它是不可链接的。
相关文章:
- HTML-使用mysql.php生成一个选择框.我怎样才能更改“;值“;生成的选择框选项的
- 我如何选择变量中的元素来触发播放<视频>
- 修改jQuery脚本,让我选择页面入口的选择列表的默认值
- 我可以'我无法让我的网页浏览JScript中选择列表中的trhorugh URL
- 如何选择除我在jquery中悬停的元素之外的所有元素
- 如何根据用户选择更新我的税款
- jQuery和选择器:我如何确保确实存在我正在寻找的元素
- 埃瓦尔是我唯一的选择吗?
- 为页面大小指定我自己的选择下拉列表
- 当我选择英语以外的任何其他语言时,无法在ckeditor中键入任何语言,只显示英文字母
- 这个颜色选择器中的彩虹条在哪里?为什么可以'我只是点击一种颜色
- 选择 JS 菜单在服务器中的行为与在我自己的桌面中的行为不同
- 我不;t在MAC上使用Safari 7.1中的jQuery获取选择HTML元素的对象
- 当我点击特定的答案时,stackoverflow是如何选择我提供的答案的
- JavaScript:我可以根据选中的单选按钮禁用选择菜单中的特定选项吗
- 我可以't使用if语句(javascript)打印html选择菜单中的值
- 如何简化我当前的jQuery选择
- 我可以基于到不同数据对象的数据联接来更新D3选择器中的DOM元素吗
- 我如何知道是否有任何行选择在我的数据表
- 我应该选择mysql中的哪种数据类型来使用PHP保存javascript代码