У меня div
с id="div_register"
. Я хочу установить его width
динамически в JavaScript.
Я использую следующий код:
getElementById('div_register').style.width=500;
но эта строка кода не работает.
Я также пробовал использовать такие единицы, px
как следующие, но все равно не повезло:
getElementById('div_register').style.width='500px';
и
getElementById('div_register').style.width='500';
и
getElementById('div_register').style.width=500px;
но ни один из этих кодов у меня не работает.
Я не знаю, что не так.
Я использую Mozilla Firefox.
РЕДАКТИРОВАТЬ
<html>
<head>
<title>Untitled</title>
<script>
function show_update_profile() {
document.getElementById('black_fade').style.display='block';
//document.getElementById.('div_register').style.left=((window.innerWidth)-500)/20;
document.getElementById('div_register').style.height= "500px";
document.getElementById('div_register').style.width= '500px';
//alert('kutta');
document.getElementById('div_register').style.display='block';
document.getElementById('register_flag').value= 1;
document.getElementById('physical_flag').value= 0;
document.getElementById('cultural_flag').value= 0;
document.getElementById('professional_flag').value= 0;
document.getElementById('lifestyle_flag').value= 0;
document.getElementById('hobby_flag').value= 0;
//alert(window.innerWidth);
}
</script>
<style>
.white_content {
display:none;
}
</style>
</head>
<body>
<div id="main">
<input type="button" onclick="javascript:show_update_profile();" id="show" name="show" value="show"/>
</div>
<div id="div_register">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
welcome
</td>
</tr>
</table>
</div>
</body>
</html>
javascript
Сасват
источник
источник
onload
событие произошло?div_register
это правильный идентификатор вашего элемента? Может быть, дайте нам и html ...style.width="500px";
должно быть правильно.onclick="show_update_profile()"
вместоonclick="javascript:show_update_profile()"
Ответы:
Используемые вами свойства могут не работать в Firefox, Chrome и других браузерах, отличных от IE. Чтобы это работало во всех браузерах, я также предлагаю добавить следующее:
Для перекрестной совместимости вам все равно нужно будет использовать свойство. Порядок также может иметь значение. Например, в моем коде при установке свойств стиля с помощью JavaScript я сначала устанавливаю атрибут стиля, а затем устанавливаю свойства:
Таким образом, наиболее кроссбраузерным примером для вас будет:
Я также хочу отметить, что гораздо более простой метод управления стилями - это использовать селектор классов CSS и поместить ваши стили во внешние файлы CSS. Ваш код будет не только легче поддерживать, но и вы действительно подружитесь со своими веб-дизайнерами!
Теперь я могу просто добавить и удалить атрибут класса, одно единственное свойство, вместо того, чтобы вызывать несколько свойств. Вдобавок, когда ваш веб-дизайнер хочет изменить определение того, что значит быть широким, ему не нужно копаться в вашем прекрасно поддерживаемом коде JavaScript. Ваш код JavaScript остается нетронутым, но тему вашего приложения можно легко настроить.
Этот метод следует правилу отделения вашего контента (HTML) от вашего поведения (JavaScript) и вашей презентации (CSS).
источник
display: block
тоже было установлено.display:block;cursor:pointer;cursor:hand
тот же вызов setAttribute. Если вы хотите, чтобы ваша жизнь была проще, используйте прогрессивную библиотеку JavaScript, такую как jQuery. Единственная причина, по которой я использовал необработанный JavaScript в своем коде, заключается в том, что он предназначен для встраивания кода на клиентские веб-сайты, поэтому фактические среды будут отличаться от сайта к сайту, и самый простой способ избежать конфликтов библиотек в дикой природе - просто не использовать их.Есть несколько способов применить стиль к элементу. Попробуйте любой из приведенных ниже примеров:
источник
Исправьте опечатки в коде («документ» написано неправильно в строках 3 и 4 вашей функции, и измените обработчик события onclick на следующее: onclick = "show_update_profile ()", и тогда все будет в порядке. Вы действительно должны следовать jmort и просто настройте 2 класса css, между которыми вы переключаетесь в javascript - это сделает вашу жизнь намного проще и избавит вас от лишнего набора текста. Допущенные вами опечатки - прекрасный пример того, почему это лучше подходить.
Для получения «пирожных» вы также должны проверить element.addEventListener для назначения обработчиков событий вашим элементам.
источник
Если вы удалите
javascript:
префикс и удалите части для неизвестных идентификаторов, например,'black_fade'
из вашего кода javascript, это должно работать в firefoxКраткий пример:
источник
Firebug
плагин для Firefox? Это вам оченьonclick
Атрибут кнопки принимает строку JavaScript, а не HREF , как вы предоставили. Просто удалите часть «javascript:».источник
Осторожно
span
!myspan.styles.width='100px'
не хочет работать.Изменение
span
кdiv
.источник
span
, что по умолчанию это встроенный элемент, поэтому он не подчиняется никаким размерам, установленным для него. Изменение его CSS наdisplay: block
,display: flex
илиdisplay: inline-block
заставит его работать правильно, какdiv
(элемент блока по умолчанию).styles.width
наstyle.width
. :)