В приведенном ниже коде я назначаю gobal переменную myDiv элементом jQuery. Но тогда внутри функции «test()» кажется, что переменная myDiv объявлена, но не определена. Мне нужно переназначить его $ ('myDiv'), прежде чем я смогу с ним что-нибудь сделать.jQuery переменная с использованием шаблона модуля javascript
фиктивная переменная хуг, кажется достижимым просто отлично, хотя ...
<!DOCTYPE html>
<htm>
<head>
<title>Javascript Test Code</title>
<script src="js/jquery-1.9.0.min.js"></script>
<script>
var App = App || (function() {
var myDiv = $('#myDiv'), // define a global jQuery element variable.
xyz = 'xyz'; // and a bogus variable as a test.
function test()
{
console.log('running test...','myDiv is', myDiv); // length is 0
console.log('xyz is ', xyz); // says xyz
myDiv = $('#myDiv'); // after selecting with jQuery...
console.log('running test...','myDiv is', myDiv); //length is 1
console.log('xyz is ', xyz); // still says xyz
}
return {test:test}
}());
$(function(){
App.test();
});
</script>
</head>
<body>
<div id="myDiv"></div>
</body>
</html>
Это не имеет ничего общего с областью определения, переменная существует и ее значение правильно регистрируется. Для проблемы см. Дубликат [Почему метод jQuery или DOM, такой как \ getElementById \, не находит элемент?] (Http://stackoverflow.com/questions/14028959/why-does-jquery-or-a -dom-method-such-as-getelementbyid-not-find-the-element) – Bergi