У меня есть код, используемый для динамического изменения изображения. Он работает как надо, но у меня есть несколько вопросов:Используйте jQuery. data() с выбором
1 - Почему
$('#image').attr('data-picture-name', $this.val());
работы, но
$('#image').data('picture-name', $this.val());
не работают? и есть ли способ использовать данные() вместо attr()?
2 - Получение данных от значения данных параметров-в выбранной опции
Как я могу получить значение из данных-параметров в выбранной опции?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="docs-assets/ico/favicon.png">
<title></title>
</head>
<body>
<img data-picture-name="popol" src="" id="image" style="width: 1200px; height: 500px; border: 1px solid red;" />
<select name="meteo-list-cities" id="meteo-list-cities" class="triggered" data-trigger-change-call="meteo-country-change-trigger">
<option data-parameters="1" value="assets/images/newyork.jpg">New York</option>
<option data-parameters="2" value="assets/images/paris.jpg">Paris</option>
<option data-parameters="3" value="assets/images/london.jpg">London</option>
</select>
<script src="assets/js/plugins/jquery/jquery.min.js"></script>
<script>
jQuery(document).ready(function($) {
$('#meteo-list-cities').on('change', function() {
var $this= $(this);
$('#image').attr('data-picture-name', $this.val());
$('#image').attr('src', $this.val());
});
});
</script>
</body>
</html>
'.data() 'метод не изменяет' data- * ', он изменяет свойства за сценой, возможно, поэтому вы считаете, что это не работает. – undefined
Может быть :) Но если я покажу значение data-picture-name, с data(), у меня всегда будет popol, но с attr() у меня есть правильный путь к изображению. – Lolo