перевод слов с помощью jQuery и Squarespace

Я пытаюсь доработать дизайн веб-сайта с помощью Squarespace. Я хотел бы перевести два слова с английского в США на английский в Великобритании (colour вместо color), но почему-то застрял.

Вот ссылка на страницу: https://www.maisonmariet.fr/collection/mm01

Используя jQuery, я смог изменить одно слово из трех:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 <script>
 $(document).ready(function() {
   $(".variant-option-title").text("colour:");
 });
 </script>

Теперь, когда дело доходит до «имени варианта-варианта данных» и «значения параметра», я не могу ничего изменить, хотя, поверьте мне, я, вероятно, потратил 4 часа на попытки. Я надеюсь, что вы, ребята, сможете понять мою проблему и помочь мне решить ее...

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Заранее спасибо!


person Nicolas F    schedule 06.09.2017    source источник
comment
Весь этот код показывает, что вы устанавливаете .text() для элементов, выбранных по классу (которых в показанном коде нет). Не совсем понятно, в чем здесь проблема.   -  person David    schedule 06.09.2017
comment
Почему вы хотите изменить data-variant-option-name? Глядя на свою страницу, изменение ничего не изменит. Хотя я могу ошибаться. Не могли бы вы подробнее объяснить, что именно вы хотите изменить? Может быть, и со скриншотами.   -  person Jeff Huijsmans    schedule 06.09.2017


Ответы (1)


Я надеюсь, что это может помочь вам

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 <script>
 $(document).ready(function() {
   $(".variant-option-title").text("colour:");
$('.list').attr('data-variant-option-name', 'colour'); 

$(".list option[value='']").text('Select Colour');

 });
 </script>
<div class="variant-option" id="yui
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 <script>
 $(document).ready(function() {
 $(".variant-option-title").text("colour:");
         $("select option").each(function() {

           var val = $(this).val() ;
           var txt = $(this).text() ; 
           var text = convertustouk(txt);
           var vals = convertustouk(val);
        $("select option[value='"+val+"']").text(text);
       $("select option[value='"+val+"']").val(vals);
        })
         });
        function convertustouk(val){
        var res = val;
        if(val =='Select Color')
        {
         res = 'Select Colour';
        }
        if(val =='Grey')
        {
         res = 'Gray';
        }
        return res;
        }
</script>
<div class="variant-option" id="yui_3_17_2_1_1504692126682_213">
    <div class="variant-option-title">color:</div>
    <div class="variant-select-wrapper" data-text="Select Color" id="yui_3_17_2_1_1504692126682_349">
      <select class="list" data-variant-option-name="Color" id="yui_3_17_2_1_1504692126682_215">
        <option value="">Select Color</option>
        <option value="White">White</option><option value="Grey">Grey</option><option value="Ivory">Ivory</option>
      </select>
    </div>
    </div>
17
 $("select option").filter(function() {

    var val = $(this).text() ; 
   console.log(val);

})
1_1504692126682_213"> <div class="variant-option-title">color:</div> <div class="variant-select-wrapper" data-text="Select Color" id="yui
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 <script>
 $(document).ready(function() {
 $(".variant-option-title").text("colour:");
         $("select option").each(function() {

           var val = $(this).val() ;
           var txt = $(this).text() ; 
           var text = convertustouk(txt);
           var vals = convertustouk(val);
        $("select option[value='"+val+"']").text(text);
       $("select option[value='"+val+"']").val(vals);
        })
         });
        function convertustouk(val){
        var res = val;
        if(val =='Select Color')
        {
         res = 'Select Colour';
        }
        if(val =='Grey')
        {
         res = 'Gray';
        }
        return res;
        }
</script>
<div class="variant-option" id="yui_3_17_2_1_1504692126682_213">
    <div class="variant-option-title">color:</div>
    <div class="variant-select-wrapper" data-text="Select Color" id="yui_3_17_2_1_1504692126682_349">
      <select class="list" data-variant-option-name="Color" id="yui_3_17_2_1_1504692126682_215">
        <option value="">Select Color</option>
        <option value="White">White</option><option value="Grey">Grey</option><option value="Ivory">Ivory</option>
      </select>
    </div>
    </div>
17
 $("select option").filter(function() {

    var val = $(this).text() ; 
   console.log(val);

})
1_1504692126682_349"> <select class="list" data-variant-option-name="Color" id="yui
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 <script>
 $(document).ready(function() {
 $(".variant-option-title").text("colour:");
         $("select option").each(function() {

           var val = $(this).val() ;
           var txt = $(this).text() ; 
           var text = convertustouk(txt);
           var vals = convertustouk(val);
        $("select option[value='"+val+"']").text(text);
       $("select option[value='"+val+"']").val(vals);
        })
         });
        function convertustouk(val){
        var res = val;
        if(val =='Select Color')
        {
         res = 'Select Colour';
        }
        if(val =='Grey')
        {
         res = 'Gray';
        }
        return res;
        }
</script>
<div class="variant-option" id="yui_3_17_2_1_1504692126682_213">
    <div class="variant-option-title">color:</div>
    <div class="variant-select-wrapper" data-text="Select Color" id="yui_3_17_2_1_1504692126682_349">
      <select class="list" data-variant-option-name="Color" id="yui_3_17_2_1_1504692126682_215">
        <option value="">Select Color</option>
        <option value="White">White</option><option value="Grey">Grey</option><option value="Ivory">Ivory</option>
      </select>
    </div>
    </div>
17
 $("select option").filter(function() {

    var val = $(this).text() ; 
   console.log(val);

})
1_1504692126682_215"> <option value="">Select Color</option> <option value="White">White</option><option value="Grey">Grey</option><option value="Ivory">Ivory</option> </select> </div> </div>

если вы хотите выбрать значение параметра в виде цикла, попробуйте приведенный ниже код

 $("select option").filter(function() {

    var val = $(this).text() ; 
   console.log(val);

})

Если вы хотите изменить все значения раскрывающегося списка, вы можете использовать этот код

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 <script>
 $(document).ready(function() {
 $(".variant-option-title").text("colour:");
         $("select option").each(function() {

           var val = $(this).val() ;
           var txt = $(this).text() ; 
           var text = convertustouk(txt);
           var vals = convertustouk(val);
        $("select option[value='"+val+"']").text(text);
       $("select option[value='"+val+"']").val(vals);
        })
         });
        function convertustouk(val){
        var res = val;
        if(val =='Select Color')
        {
         res = 'Select Colour';
        }
        if(val =='Grey')
        {
         res = 'Gray';
        }
        return res;
        }
</script>
<div class="variant-option" id="yui_3_17_2_1_1504692126682_213">
    <div class="variant-option-title">color:</div>
    <div class="variant-select-wrapper" data-text="Select Color" id="yui_3_17_2_1_1504692126682_349">
      <select class="list" data-variant-option-name="Color" id="yui_3_17_2_1_1504692126682_215">
        <option value="">Select Color</option>
        <option value="White">White</option><option value="Grey">Grey</option><option value="Ivory">Ivory</option>
      </select>
    </div>
    </div>
person ubm    schedule 06.09.2017
comment
Спасибо, ubm, почти идеально... Оба оставшихся слова переведены, хотя теперь появляется окно (вверху слева на экране). Итак, ваш код не работает напрямую там, где мне бы хотелось, но я уверен, что это поправимо. Вот ссылка на скриншот: dropbox.com/s/ejc1ugc39juqm7j/ - person Nicolas F; 06.09.2017
comment
Прости, убм, я не уверен, что понял. Является ли значение параметра выбора циклическим комментарием в ответ на мой первый комментарий? Если да, то не могли бы вы уточнить? Спасибо - person Nicolas F; 06.09.2017
comment
Я не знаю, как получить доступ к html, так как я не создавал веб-сайт с нуля, а использовал шаблон Squarespace. Вот что происходит, когда я пытаюсь изменить значения раскрывающегося меню с помощью предоставленного вами кода: dropbox.com/s/h0v1ysf4xyyz1bv/ Спасибо, что нашли время помогать - person Nicolas F; 07.09.2017
comment
оно работает! Я просто сохранил первую часть вашего кода, потому что добавление части ‹div class=variant-option id=yui_3_17_2_1_1504692126682_213›... добавляет раскрывающееся меню, которое появляется в левом верхнем углу экрана. Еще раз большое спасибо за ваше время, я очень ценю помощь. - person Nicolas F; 07.09.2017