В консоли Chrome:
$('.table-responsive').width(); //working
$('.table-responsive')[0].scrollWidth; //working
В коде при рендеринге HTML:
$('.table-responsive').width(); //working
$('.table-responsive')[0].scrollWidth; //not-working
Cannot read property 'scrollWidth' of undefined
Спасибо, @MehdiDehghani, опубликуйте свой ответ, чтобы я мог одобрить его как решение.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если код работает в консоли браузера (ака инструменты разработчика) и не работает с вашим JS-кодом, это означает, что (в большинстве случаев) ваш JS-код запускается до фактической загрузки DOM / HTML.
У вас есть 2 варианта:
script внизу страницы (непосредственно перед </body>)$(document).ready(function(){ ... });
Что эквивалентно рекомендуемому способу вызова:
$(function() { ... });
Связанный полезный вопрос здесь, на SO: Что делает $ (function () {}); делать?
Спасибо, @MehdiDehghani. Не могли бы вы проголосовать за мой вопрос и удалить этот негатив, я не знаю, почему кто-то отметил его минусом.
@zarpio готово! Низкие избиратели всегда должны говорить «почему», но иногда - нет.
... использовать
width()вместоscrollWidth?