2016-03-25 6 views
1

У меня есть основное меню с этим html: ul id="menu". Она имеет ряд литиево с css id="menu_principal", и я пытаюсь использовать JQuery, чтобы получитьjquery width возвращает функцию

  • ширину меню и
  • количество Li

После того, что я хочу, чтобы разделить ширину меню по числу li, чтобы установить ширину на li.

Вот мой JQuery код:

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

nombremenus возвращает правильное значение, но largeur содержит:

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]:… 

Я сделал console.log на largeur.

Ведение

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

возвращает правильное значение в рх - я не могу тогда делать математику с ней ...

+2

Чтение документации помогает. вы должны попробовать это когда-нибудь. http://api.jquery.com/width/ – Tomalak

ответ

1

ширина не является допустимым вызов.

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

должен быть

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

Прямо сейчас вы получаете функцию с его именем. Вы не вызывая функцию на нем

+0

dûh ..... конечно ... Мне нужно больше спать ... – thiebo

+0

Без проблем :) Счастливое кодирование. –

1

если вы используете $('.element').width это, очевидно, будет возвращать функцию, которую нужно упомянуть, что вы вызываете код функции записи, как это $('.element').width();

1

$('#menu').css("width") возврата данных в виде строки. Таким образом, вы можете использовать метод width. $('#menu').width() преобразует пиксели в виде int. Подробнее here. Также вы можете установить witdh одним и тем же методом.

1

Ну ...

JQuery width()является функцией. Вызов без брекетов возвращает сама функция.
Если вы хотите вызвать его, вы должны передать параметры, необходимые функции (в этом случае - пустой набор параметров).

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

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

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