Посмотрев на это и попробовав, я обнаружил, что на самом деле не разрешено запускать несколько экземпляров jquery за раз. После поиска я обнаружил, что это просто трюк и было намного меньше кода.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script>var $j = jQuery.noConflict(true);</script>
<script>
$(document).ready(function(){
console.log($().jquery); // This prints v1.4.2
console.log($j().jquery); // This prints v1.9.1
});
</script>
Итак, добавление «j» после «$» было всем, что мне нужно было сделать.
$j(function () {
$j('.button-pro').on('click', function () {
var el = $('#cnt' + this.id.replace('btn', ''));
$j('#contentnew > div').not(el).animate({
height: "toggle",
opacity: "toggle"
}, 100).hide();
el.toggle();
});
});
+
имеет специальное значение в регулярное выражение и не может использоваться в форме ++
. Вам нужно выйти из регулярного выражения.
Используя эту функцию source sup>:
function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\[110]amp;'); // [110]amp; means the whole matched string
}
вы можете заменить:
var regexEx = new RegExp(req.query.search, "i"); //ignore case
на
var regexEx = new RegExp(escapeRegExp(req.query.search), "i"); //ignore case
^^^^^^^^^^^^
Вы можете легко повторить ошибку, создав простое регулярное выражение: /c++/
в консоли браузера, которое выдаст следующее сообщение (может варьироваться в зависимости от браузера):
SyntaxError: nothing повторить
blockquote>
Примечание : это довольно плохая идея, чтобы позволить пользователю искать необработанный ввод.