Я совершенно новичок в JS.Не могли бы вы помочь мне улучшить мой код?Может быть, для всех опций нужна одна функция.Я не знаю.Это работает хорошо, но я чувствую это, это нужно улучшить;)
Я хотел бы сделать что-то подобное
jQuery(".radio input:radio").each(function() {
jQuery(this).click(function() {
...
});
});
, но я не знаю как: (
<div>
<div id="option287"></div> <div id="option123"></div>
</div>
<div id="input-option287">
<script>
function swap287(id) {
const main = document.getElementById('option287');
const div = document.getElementById("img_" + id);
const clone = div.cloneNode(true);
while (main.firstChild) main.firstChild.remove();
main.appendChild(clone);
}
</script>
<div class="radio">
<label>
<input type="radio" id="287_1" name="option[287]" onclick="swap287('287_1')" value="677" title="" alt="">AAA
<div style="display:none;"><img src="https://placeimg.com/640/480/people" id="img_287_1" alt="222"></div>
</label>
<label>
<input type="radio" id="287_2" name="option[287]" onclick="swap287('287_2')" value="676" title="" alt="">BBB
<div style="display:none;"><img src="https://placeimg.com/640/480/nature" id="img_287_2" alt="111"></div>
</label>
</div>
</div>
<p>Next option</p>
<div id="input-option123">
<script>
function swap123(id) {
const main = document.getElementById('option123');
const div = document.getElementById("img_" + id);
const clone = div.cloneNode(true);
while (main.firstChild) main.firstChild.remove();
main.appendChild(clone);
}
</script>
<div class="radio">
<label>
<input type="radio" id="123_1" name="option[123]" onclick="swap123('123_1')" value="677" title="" alt="">1111
<div style="display:none;"><img src="https://placeimg.com/640/480/tech" id="img_123_1" alt="222"></div>
</label>
<label>
<input type="radio" id="123_2" name="option[123]" onclick="swap123('123_2')" value="676" title="" alt="">2222
<div style="display:none;"><img src="https://placeimg.com/640/480/tech/sepia" id="img_123_2" alt="111"></div>
</label>
</div>
</div>
<p>Next option</p>