#javascript #html #google-chrome
#javascript #HTML #google-chrome
Вопрос:
Добрый вечер.
У меня есть следующий код:
<script type="text/javascript">
function action1() {
var x = document.getElementById('MarcaGravadaPedra');
x.style.display = "inline";
document.getElementById('EstruturaSagrada').style = "display: none;"
document.getElementById('objectosagrado').style = "display: none;"
HideAll();
}
</script>
И в самом html есть форма и несколько кнопок внутри нее:
<input type="button" id="ObjectoSagradoButton" value="Objecto Sagrado" onClick="action1();"/>
Хотя этот код работает в Firefox, но не в IE или Chrome. Я перепробовал все, но, похоже, не могу заставить это работать.
Эта кнопка приведет к появлению некоторых разделов, а другие исчезнут.
<div id="MarcaGravadaPedra">Testing1</div>
Комментарии:
1. какие-либо ошибки в журнале консоли?
2. jsfiddle.net/w9jSj работает в Chrome так же, как и в firefox
3. Где остальная часть вашего HTML? Я просто хочу посмотреть, есть ли у вас элементы DOM с идентификатором
EstruturaSagrada
иobjectosagrado
.4. Я изменил весь javascript на jQuery. Нашел это проще и работает в любом браузере.
Ответ №1:
Я не могу представить, чтобы ваш код работал в любом браузере. У вас есть пара таких нечетных строк, переопределяющих style
объект строкой:
document.getElementById(...).style = "display: none;"
Должно быть:
document.getElementById(...).style.display = "none";
или:
document.getElementById(...).setAttribute('style', 'display: none');
Ответ №2:
Быстро.
Используйте onclick вместо onClick.
Подробная
Нажмите клавишу F12 в Chrome. Появятся инструменты разработчика. Это действительно полезно для веб-разработчиков.
Теперь перейдите в меню, и вы найдете линзу. Щелкните его, а затем нажмите кнопку. Щелкните правой кнопкой мыши на выделенном тексте и выберите редактировать как HTML. измените onClick на onclick и повторите попытку.
Я не являюсь носителем английского языка, извините за ошибки.
Надеюсь, это будет полезно и приятного вечера программирования.
Комментарии:
1. HTML не чувствителен к регистру.
Ответ №3:
Эта проблема может быть связана с политикой безопасности содержимого. если это так, код не должен работать. кроме того, использование встроенного onclick — плохая идея. попробуйте этот код вместо :
function action1() {
var x = document.getElementById('MarcaGravadaPedra');
x.style.display = "inline";
document.getElementById('EstruturaSagrada').style = "display: none;"
document.getElementById('objectosagrado').style = "display: none;"
HideAll();
}
document.getElementById('ObjectoSagradoButton').addEventListener('click',action1);
более подробную информацию о политике безопасности контента можно найти здесь, в
MDN
Комментарии:
1. Я пробовал это, но, похоже, тоже не работает. Хотя все изменилось с помощью jQuery.