javascript
  • jquery
  • append
  • 2010-06-30 20 views 1 likes 
    1

    je tente de créer une balise div puis le modifier via css, mais pour une raison de son travail ne voici mon code:Jquery ajoute un élément puis modifie css?

    $('#draw').click(function(e){ 
        var divToAdd = "<div id='box' style='display:block;background-color:red;width:100px;height:100px'></div>"; 
        $("#area").append(divToAdd); 
    }); 
    $('#left').click(function(e){ 
        //var leftNow = document.getElementById("box").left + 1; 
        alert(document.getElementById("box").left); 
        $("#box").css('left',leftNow); 
    }); 
    $('#right').click(function(e){ 
        var leftNow = document.getElementById("box").left - 1; 
        $("#box").css("left","90"); 
    }); 
    

    Donc, pour une raison quelconque, la valeur de document.getElementById (« boîte ») .left est indéfini. J'ai essayé de comprendre cela pendant un moment, j'ai probablement quelque chose de mal dans ma syntaxe peut-être? Toute aide serait appréciée, merci beaucoup! Merci Nick Craver.

    Répondre

    5

    Vous auriez besoin de .style.left, ou $("#box").css('left'); dans ce cas.

    Mais ... il y a un moyen plus facile, comme ceci:

    $("#box").css("left","-=1"); 
    

    Vous pouvez simplement faire rapport de cette façon, même pour +=, rester simple :)

    +0

    Merci monsieur, il en est bien cas, l'homme j'ai passé des âges sur ce merci beaucoup! Ill marque ce bon dès que possible. –

    +0

    @Pete - Bienvenue! :) –

    1

    Ici, j'ai deux suggestions :

    (1) utiliser l'objet jQuery au lieu de l'objet lui-même

    var divToAdd = $("<div id='box' style='display:block;background-color:red;width:100px;height:100px'></div>"); 
    

    En fait, l'expression ci-dessus n'est pas si bon soit, pour le rendre plus « jQuery»:

    var divToAdd = $('<div></div>').css('background-color','red').css.... 
    

    (2) Continuez à utiliser jQuery si vous en jeu, il

    $('#box').css('left') instead of document.getElemengById(...) 
    

     Questions connexes

    • Aucun problème connexe^_^