javascript - 在 .bind ('click' 上)它不会删除第一个 div

标签 javascript jquery

当我点击某个特定的 div 时,该 div 应该淡出,很简单,但是当我点击其中一个 div 时,它会删除堆栈顶部的 div,即当我点击 #sel6 时,它会删除 sel5

HTML 代码

<div id="selc_d" class="selc" style="position:absolute; left:15px; top:200px; width:260px;">

<div id="sel5" class="sel">something</div>
<div id="sel6" class="sel">something</div>
<div id="sel7" class="sel">something</div>

</div>

jQuery 代码 sel_id、sel_1 是变量

$('.selc_d').bind('click',function(){ 
  var sel_id = $('.sel').attr('id');
  alert(sel_id);

  $('#'+sel_id).fadeOut('slow');
  $('#'+sel_id).remove();
  $('.search_box').append(sel_1);
});

最佳答案

$('.sel').bind('click',function(){
    var sel_id = this.id; // replace this line using this.id or $(this).attr('id');
    alert(sel_id);
    $('#'+sel_id).fadeOut('slow');
    $('#'+sel_id).remove();
    $('.search_box').append(sel_1);
});

请注意 this 的使用...this 将包含被单击的元素。

你正在做的是

var sel_id = $('.sel').attr('id'); 

这将始终选择第一个具有 sel 类的 div,在本例中为 id sel5 的 div

##你想要什么##

<div id="selc_d" class="selc" style="position:absolute; left:15px; top:200px; width:260px;">

    <div id="sel5" class="sel">something</div>
    <div id="sel6" class="sel">something</div>
    <div id="sel7" class="sel">something</div>

</div>

$('.sel').bind('click',function(){
    var sel_id = $(this).attr('id');
    alert(sel_id);
    $('#'+sel_id).fadeOut('slow');
    $('#'+sel_id).remove();
    $('.search_box').append(sel_1);
});

关于javascript - 在 .bind ('click' 上)它不会删除第一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3043472/

相关文章:

javascript - 如何使用 getDay() 比较天数

javascript - 将 html 中的文本 append 到不同的部分

javascript - 具有回调和 Frame.js 的 JQuery Ajax

jquery 自动完成在 chrome 中输入键(被劫持?) vs firefox

javascript - chrome 扩展的内容脚本在 google、youtube 页面中不起作用

javascript - 如何获取ajax表单提交返回值

javascript - Mongodb Emulator 模拟真实的 nosql 事务

javascript - IE8 event.currentTarget 为 null 或不是对象

javascript - wait.until(ExpectedConditions.elementToBeClickable) 不起作用

javascript - 在页面加载时持续检查 Oracle 记录