jQuery获取父id不起作用
jQuery get parent id not working
我不擅长JavaScript/jQuery,在一项非常基本的任务上遇到了很多麻烦。我有一个img
,单击它时,应该会给我它所在的父div
的id。
这是标记:
<div id="client-1">
<img src="~/Content/plus.ico" alt="plus" onclick="ButtonExpandClick()" />
</div>
这是javascript:
<script type="text/javascript">
function ButtonExpandClick() {
alert($(this).parent().attr("id"));
}
</script>
单击该图像会给我一个警告,上面写着"未定义",但当我检查页面时,我可以清楚地看到div
的id为"client-1"。我一定错过了一些简单的东西。我还尝试过使用.closest
以及将this
传递到函数中,但没有成功。谢谢你的帮助!
不要将onclick
属性用于事件。您正在使用jQuery,请"正确"绑定事件。
向图像添加类:
<img src="~/Content/plus.ico" alt="plus" class="icon" />
然后绑定事件:
$(function(){
$('.icon').click(function(){
alert($(this).parent().attr("id"));
});
});
如果使用jQuery而不是内联连接点击事件,则会自动传入this
:
请注意,您必须给图像一个id
或为其找到另一个选择器
jQuery(document).ready(function() {
jQuery("#myImg").click(ButtonExpandClick);
});
您需要通过this
onclick="ButtonExpandClick(this)"
JS
function ButtonExpandClick(elem) {
alert($(elem).parent().attr("id"));
}
另外,声明内联事件也是个坏主意。使用javascript直接附加事件。
<script>
$(function() {
$('#client-1 img').click(function() {
alert($(this).parent().attr("id"));
});
});
</script>
您必须使用jquery.click或发送带有函数的元素。比如sendme(这个)。
更简单的是,您可以尝试使用绑定:
<div id="client-1">
<img src="~/Content/plus.ico" alt="plus" />
</div>
<script>
$(function() {
$('img').on('click', function(){
// Two ways to do the same thing
alert(this.parentNode.id);
alert($(this).parent()[0].id);
});
});
</script>
您可以使用这样的东西:
$(function() {
$('img').on('click', function(e) {
var id = this.parentNode.id; //Using javascript to access id is faster.
alert(id);
});
});
Jsfidle 工作示例
建议将这些图像放入容器中。并将其更改为。这对性能更好。
$(function(){
var images = $('#container').find('img');
images.on('click', function(e) {
var id = this.parentNode.id; //Using javascript to access id is faster.
alert(id);
});
});
相关文章:
- getDocument by id/get input text from button dons'不起作用
- 我的ID获取元素不起作用
- 悬停时函数在具有相同 id 的多个元素中不起作用
- 循环浏览页面上所有选中的复选框并将id拉入数组不起作用
- 为什么我的jquery代码在使用ID但使用Class时不起作用
- jQuery获取keyup上带有类的输入的ID不起作用
- 为什么$('#id').click函数不起作用
- JavaScript id 选择器不起作用?不知道出了什么问题
- 使用科尔多瓦在我的网络服务器上存储 GCM ID 不起作用
- jQuery 按 ID 名称删除 img 标签不起作用
- push 方法将元素添加到数组中不起作用,同时获取具有相同类的元素的 ID 和值
- 带有指令不起作用的 AngularJS 动态表单字段 ID
- 帧 ID 不断变化,imacros 脚本不起作用
- 两个元素的两个标签,具有相同的 id,但形式不同.为什么不起作用
- Yii2:Jquery 选择表格单元格的 id 不起作用
- 需要 document.getElementById 的解决方法,以便在多个 ID 可能性之间循环.类不起作用
- 具有 ID AND 类的 jQuery 选择器目标元素不起作用
- 铬错误或编码错误?目标页面中的锚/ID 链接不起作用
- Jquery 更改克隆元素子元素的 ID 不起作用
- 复制的文件不起作用 - ID在不同页面HTML JavaScript PHP中不起作用