Добавлять число к ID
Есть код:
var ido = "#product-"+i; $(ido + ' .white').click(function(){ $(ido + " .color-img img").attr('src', $(ido + ' .radio-white').attr('data-path')); $(ido + " .color-text").text( $(ido + ' .radio-white').attr('data-text')); }); Как сделать, чтобы вместо i подставлялись числа 1,2,3,4 и т.п Чтобы получался id #product-1, #product-2, #product-3 и т.п Что-то не получается((( |
|
Цитата:
Нет, ID разные у элементов, класс white в каждом блоке есть |
Читал, не получалось(
|
this.id - означает id элемента по которому кликнули.
|
Клик делается по элементу внутри блока с ID
|
скиньте html
|
var ido = "#product-"+i; $(ido + ' .white').click(function(){ $(ido + " .color-img img").attr('src', $(ido + ' .radio-white').attr('data-path')); $(ido + " .color-text").text( $(ido + ' .radio-white').attr('data-text')); }); $(ido + ' .black').click(function(){ $(ido + " .color-img img").attr('src', $(ido + ' .radio-black').attr('data-path')); $(ido + " .color-text").text( $(ido + ' .radio-black').attr('data-text')); }); <div class="color-item" id="product-1"> <div class="color-img" ><img src="img/white.jpg" alt="Белый" ></div> <div class="color-input"> <div class="color-radio"> <input type="radio" name="item1" value="" data-path="img/white.jpg" data-text="Белый" checked id="color1" class="radio-white"> <label for="color1" class="white"></label> </div> <div class="color-radio"> <input type="radio" name="item1" value="" data-path="img/black.jpg" data-text="Черный" id="color2" class="radio-black"> <label for="color2" class="black"></label> </div> </div> <p class="color-text">Белый</p> </div> <div class="color-item" id="product-2"> <div class="color-img" ><img src="img/white.jpg" alt="Белый" ></div> <div class="color-input"> <div class="color-radio"> <input type="radio" name="item1" value="" data-path="img/white.jpg" data-text="Белый" checked id="color3" class="radio-white"> <label for="color3" class="white"></label> </div> <div class="color-radio"> <input type="radio" name="item1" value="" data-path="img/black.jpg" data-text="Черный" id="color4" class="radio-black"> <label for="color4" class="black"></label> </div> </div> <p class="color-text">Белый</p> </div> ![]() |
avator41,
что хотите сделать? |
Цитата:
|
avator41,
почему во всех блоках одинаковые name="item1"? |
avator41,
во втором блоке сделал name="item2" <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { $( ".color-item" ).on("click", function() { var img = $("img", this), p = $(".color-text", this), check = $(":checked",this), src = check.data("path"), text = check.data("text"); img.attr("src", src); img.attr("alt", text); p.text(text); }); }); </script> </head> <body> <div class="color-item" id="product-1"> <div class="color-img" ><img src="img/white.jpg" alt="Белый" ></div> <div class="color-input"> <div class="color-radio"> <input type="radio" name="item1" value="" data-path="img/white.jpg" data-text="Белый" checked id="color1" class="radio-white"> <label for="color1" class="white"></label> </div> <div class="color-radio"> <input type="radio" name="item1" value="" data-path="img/black.jpg" data-text="Черный" id="color2" class="radio-black"> <label for="color2" class="black"></label> </div> </div> <p class="color-text">Белый</p> </div> <div class="color-item" id="product-2"> <div class="color-img" ><img src="img/white.jpg" alt="Белый" ></div> <div class="color-input"> <div class="color-radio"> <input type="radio" name="item2" value="" data-path="img/white.jpg" data-text="Белый" checked id="color3" class="radio-white"> <label for="color3" class="white"></label> </div> <div class="color-radio"> <input type="radio" name="item2" value="" data-path="img/black.jpg" data-text="Черный" id="color4" class="radio-black"> <label for="color4" class="black"></label> </div> </div> <p class="color-text">Белый</p> </div> </body> </html> |
Цитата:
|
Часовой пояс GMT +3, время: 20:35. |