Можно ли использовать JavaScript и JQuery одновременно? - PullRequest
0 голосов
/ 25 апреля 2020

Вопрос, спровоцированный как Мне было интересно, могу ли я просто объявить $(document).ready() в верхней части <script> и написать в ней обычный ваниль JS, чтобы мне не приходилось объявлять $(document).ready() каждый раз, когда я используйте JQuery.

Я также проверял, можно ли использовать JQuery с JS локально (внутри '{}'). Но похоже, что приведенный ниже код не работает.

Может кто-нибудь прояснить это, пожалуйста? Спасибо.

<style>

#demoDiv {
    width: 200px;
    height: 200px;
    border: 2px brown solid;
}

</style>
</head>
<body>

<div id='demoDiv'></div>
<br>
<button id='testButton' onclick='testFunc()'>Test</button>

<script>

$(document).ready(function() {

function testFunc() {
    $('#demoDiv').style.display = 'none';
}

});


</script>
</body>

Ответы [ 2 ]

2 голосов
/ 25 апреля 2020

jQuery - это библиотека JavaScript, поэтому вы можете использовать jQuery с любыми другими JavaScript функциями.

Ваш конкретный пример не работает по двум причинам.


Во-первых, поскольку .style является свойством объектов DOM, а не jQuery объектов.

Вы можете извлечь объект DOM из объекта jQuery:

$('#demoDiv')[0].style.display = 'none';

Или просто последовательно используйте jQuery API:

$('#demoDiv').css("display", "none");

Во-вторых, потому что testFunc не является глобальным, поэтому выходит за рамки вашего встроенного обработчика событий.

Используйте взамен $('#testButton').on('click', testFunc).

1 голос
/ 25 апреля 2020

Вы всегда используете ваниль JS, когда используете jQuery. Дело в том, что jQuery написано в JavaScript.

Даже суть jQuery, $, ванильная JavaScript функция под капотом.

...