javascript
  • jquery
  • html
  • loops
  • actionlistener
  • 2015-09-26 5 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

    Почему бы вам использовать идентификатор, когда у вас уже есть сам объект? –

    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>

    Смежные вопросы