Страница продукта на моем веб-сайте отображает #productID
в строке i.e «ID продукта: 743961». Используя jQuery, я хочу взять эту строку #productID
и сравнить ее с массивом идентификаторов. Если #productID
соответствует идентификатору внутри массива, я хочу добавить сообщение.JQuery, если строка соответствует значению в массиве
<div id="productID"> Product ID: 743961 </div>
Сначала я пытался сделать следующее, но изо всех сил старался получить желаемые результаты.
var myArray = [ 743961, 743963, 743965 ];
$("#prod_code:contains('myArray')").css("text-decoration", "underline");
В моем массиве более 2000 наименований, поэтому это может быть не лучшее решение. Я знаю, что Ajax будет лучшим решением, но я не смогу использовать его в этом экземпляре.
Мне нравится это лучше, чем мое решение, +1. Запуск тысяч селекторных матчей будет дорогостоящим. – Barmar
Спасибо за ответ Рори. Я знаю, что Ajax будет лучшим решением для этого примера, но я не могу использовать его в этом экземпляре, поскольку у меня ограниченный доступ к FTP. – Liondedan
Вам нужно исправить идентификатор, а также оператор if. $ .inArray возвращает -1, если не найден, но индекс в противном случае. Итак, в вашем примере, если массив соответствовал первому элементу, вы получили бы 0 возвращенных и ложных, если хотите true. Кроме того, trim возвращает строку. Как это http://jsfiddle.net/j08691/nn9swwra/ – j08691