Как создать функцию для отображения текста, используя jQuery, и не выполняется, если img sr c содержит 'is.png'? - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу создать функцию для отображения текста над кнопкой «Запрос цены» для всех регионов , кроме , где img sr c содержит «is.png». Мой код jQuery для добавления текста на страницу работает при вставке:

jQuery(".request-pricing").before("<div class='price-box' style='display:block!important;'><span class='regular-price' id='product-price'><span class='price' itemprop='price'>Starting from 1,123 EUR</span></span></div>");

Код для кнопки «Запрос цены» с классом «запрос цены»:

<a class="request-pricing fancybox.ajax" data-fancybox-type="ajax" href="/products/distributor/requestPricingForm?product_id=5265"> <button class="sc-button blue">Request Pricing</button> </a> 

Код, когда я не хочу, чтобы функция выполнялась (Исландия):

<div class="country-flag">
        <a href="/contact-us#country=IS">
            <img src="https://cdn.stemcell.com/media/flag/is.png" alt="Iceland" title="Iceland">
        </a>
        <input type="hidden" class="hidden" id="geo_ip_country_code" name="geo_ip_country_code" value="IS">
    </div>

Я не уверен, как запустить мой код jQuery, поэтому он всегда выполняется, кроме случаев, когда img sr c содержит ' is.png '.

Вот моя попытка:

if ($(".country-flag img[src*='flag']")).ready(function showprice() {
  $(".request-pricing").before("<div class='price-box' style='display:block!important;'><span class='regular-price' id='product-price'><span class='price' itemprop='price'>Starting from 1,123 EUR</span></span></div>");
}); else {
($(".country-flag img[src*='is.png']")).stop(function showprice() {
}

Я только учусь jQuery, поэтому я ценю любые отзывы или ресурсы.

1 Ответ

1 голос
/ 26 февраля 2020

Я бы посоветовал использовать .indexOf() примерно так:

if ($(".country-flag img").attr("src").indexOf("flag")) {
  var pb = $("<div>", {
    class: "price-box"
  }).css("display", "block !important").insertBefore($(".request-pricing"));
  $("<span>", {
    class: "regular-price",
    id: "product-price"
  }).appendTo(pb);
  $("<span>", {
    class: "price",
    itemprop: "price"
  }).html("Starting from 1,123 EUR").appendTo($("span", pb));
} else if($(".country-flag img").attr("src").indexOf("is.png")) {
  // Do a thing
}

Если он найден, .indexOf() вернет целое число от 0 или выше. В операторе if() -1 и 0 оцениваются как Ложь, а 1 или выше - Истина.

См. Больше:

...