OMG ... Это проблема не только "библиотеки jQuery" и "getElementById".
Конечно, jQuery помогает нам отложить кросс-браузерные проблемы, но использование традиционного способа без библиотек все еще может работать хорошо, если вы действительно понимаете JavaScript ДОСТАТОЧНО !!!
И @ Мар Орглиссон, и @Darryl Hein дали вам хорошие АЛТАРНАТИВЫ (я бы сказал, они просто альтернативные, а не противозаконные), где первый использовал традиционный, а второй - jQuery. Но вы действительно знаете ответ на свою проблему? Что не так с вашим кодом?
Во-первых, .click
- это способ jQuery. Если вы хотите использовать традиционный способ, используйте вместо этого .onclick. Или я рекомендую вам сосредоточиться на изучении использования только jQuery, в случае путаницы. jQuery - хороший инструмент для использования без достаточного знания DOM.
Вторая проблема, также критическая, new function(){}
- это очень плохой синтаксис или, скажем, неправильный синтаксис.
Независимо от того, хотите ли вы использовать jQuery или нет, вам нужно уточнить это.
Существует 3 основных способа объявления функции:
function name () {code}
... = function() {code} // known as anonymous function or function literal
... = new Function("code") // Function Object
Обратите внимание, что javascript чувствителен к регистру , поэтому new function()
не является стандартным синтаксисом javascript. Браузеры могут неправильно понимать значение.
Таким образом, ваш код можно изменить вторым способом, как
= function(){alert();}
Или используя третий способ как
= new Function("alert();");
Прорабатывая его, второй способ работает почти так же, как третий, и второй способ очень распространен, а третий - редко. Оба ваших лучших ответа используют второй способ.
Однако третий способ может сделать то, чего не может сделать второй, из-за «времени выполнения» и «времени компиляции». Я просто надеюсь, что вы знаете, new Function()
иногда может быть полезным. Однажды вы столкнетесь с проблемами при использовании function(){}
, не забудьте new Function()
.
Чтобы понять больше, рекомендуем прочитать << JavaScript: Полное руководство, 6-е издание >>, О'Рейли.