javascript
  • jquery
  • html
  • loops
  • actionlistener
  • 2015-09-26 175 views -2 likes 
    -2
    var color_arr = ["red","blue","red","blue","red","blue"]; 
    var html = ""; 
    for(var i = 0; i < color_arr.length; i++) { 
        html += "<button id='user_color_"+i +"' class='btn' style='background:"+ color_arr[i] +"'></button>"; 
    } 
    $("#somelement").append(html);  
    

    因此,如果用户点击一个按钮,则该按钮必须被删除。如何在点击时删除按钮?

    回答

    3
    $("#somelement button").on("click",RemoveElement); 
    
    function RemoveElement() { 
        $(this).remove(); 
    }; 
    

    http://jsfiddle.net/yoxkscpm/

    0
    $("#somelement").on('click','.btn',function(){  
    var btnId = $(this).attr("id"); 
    $("#"+btnId).remove();  
    }); 
    

    但你最好添加新的类,它改变.btn。

    +1

    为什么你会用id,当你已经有对象本身? –

    0

    你的代码有一些变化。您的var html变量已被删除。

    您可以使用$(...).click(...

    var color_arr = ["red","blue","red","blue","red","blue"]; 
     
    
     
    for(var i = 0; i < color_arr.length; i++) { 
     
        $("#somelement").append("<button id='user_color_"+i +"' class='btn' style='background:"+ color_arr[i] +"'>Button</button>"); 
     
    } 
     
    $("#somelement button").click(function(){ 
     
        $(this).remove(); 
     
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     
    
     
    <div id="somelement"></div>

    相关问题