2016-03-25 4 views
1

Ich habe ein sehr einfaches Menü mit diesem HTML: ul id="menu". Es hat eine Reihe von li mit css id="menu_principal" und ich versuche, Jquery benutzen Siejquery width gibt eine Funktion zurück

  • die Breite des Menüs und der
  • die Zahl der li

Danach möchte ich die Breite teilen des Menüs durch die Anzahl der li, um eine Breite pro li festzulegen.

Hier ist meine jQuery-Code:

var nombremenus = $('.menu_principal').length; 
var largeur = $('#menu').width; 

nombremenus einen korrekten Wert zurückgibt, aber largeur enthält:

function (d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:… 

ich console.log auf largeur tat.

Doing

var largeur = $('#menu').css("width"); 

gibt den richtigen Wert in Pixel - ich kann dann nicht Mathe tun mit ihm ...

+2

der Dokumentation Lesen hilft. Du solltest es irgendwann versuchen. http://api.jquery.com/width/ – Tomalak

Antwort

1

Breite kein gültiger Anruf ist.

var largeur = $('#menu').width; 

sollte

var largeur = $('#menu').width(); 

Sie gerade jetzt sind eine Funktion Empfangen mit seinem Namen. Sie rufen Funktion nicht darauf

+0

dûh ..... natürlich ... sollte ich mehr schlafen ... – thiebo

+0

Kein Problem :) Happy Coding. –

1

wenn Sie $('.element').width verwenden es wird offensichtlich eine Funktion zurückgeben müssen Sie erwähnen, dass Sie mögen dieses $('.element').width();

1

$('#menu').css("width") Rückgabedaten als String eine Funktion Schreib Code aufrufen. So können Sie width Methode verwenden. $('#menu').width() wird Pixel als int drehen. Mehr Details here. Auch Sie können withh mit derselben Methode einstellen. Nun

1

...

JQuery width()ist eine Funktion. Wenn Sie es ohne Klammern aufrufen, wird die Funktion selbst zurückgegeben.
Wenn Sie es aufrufen möchten, müssen Sie die von der Funktion benötigten Parameter übergeben (in diesem Fall einen leeren Parametersatz).

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<script> 
 
    alert($("body").width); 
 
    alert($("body").width()); 
 
</script>