как получить ширину ul на основе класса jquery?

#javascript #jquery #html-lists

#javascript #jquery #html-списки

Вопрос:

Как можно получить ширину <ul> имени класса, поскольку имя класса будет уникальным для каждого <ul> .

Я не хочу выбирать by id , а скорее by class , чтобы его можно было использовать повторно,

Мой <ul> html:

 <ul id="cat-sec-bar" class="RestaurantssubTypeDivClass" style="display: block;">
    //some code here
</ul>
  

Я пытаюсь с этим:

  var divWidth = $(".RestaurantssubTypeDivClass").width();
 //Getting 0
  

Что здесь не так?
любой другой способ сделать это?

Комментарии:

1. Пожалуйста, уточните I dont want to check width on the base id of ul.

2. Это означает, что я не хочу делать это так: $(«#cat-sec-bar»).width();

3. Тогда не используйте его. Однако var divWidth = $(".RestaurantssubTypeDivClass").width(); работы см. jsfiddle.net/h82cj

4. @Satpal действительно, это означает #some code here , что, вероятно, вообще не заполнено <li> ‘s

5. да, в нем есть <li> .

Ответ №1:

Попробуйте это:

 var divWidth = $(".RestaurantssubTypeDivClass").css('width');
  

Ответ №2:

на самом деле в базе класса будет много коротких списков ul, поэтому вам придется брать ширину в массиве, затем вам нужно выполнить прецессирование массива :

Класс может дублироваться. Идентификаторы уникальны.

  var divWidth = [];

$(".RestaurantssubTypeDivClass").each( function(){

 divWidth.push(  $(this).width());

})
  

Комментарии:

1. @Test — отредактированный код . в основном определение массива divWidth было неправильным.

2. эй, я пробую это $(«#» divIdUl).css(«border»,»4px сплошной красный»); var divWidth = $(«#» divIdUl).width(); console.log(divIdUl ‘ppp==>>>>’ divWidth); но получение -4 на консоли.