我一直试图通过按钮点击切换两个.pngs。当我运行代码时,控制台抛出一个错误:Uncaught TypeError:object不是一个函数。这是我的代码:
<body>
<h1>My Website</h1>
<div>
<button data-file="bs">BMW </button>
<button data-file ="ms">Mercedes</button>
</div>
<div id="bmw">
<img src="bmw.png">
</div>
<div id="mercedes">
<img src="merc.png">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
(function () {
var link = $('link');
$('button').click(function () {
var $this = $(this)
car = $(this).data('file');
console.log(car);
link.attr('href', car + '.png');
});
})();
</script>
这指的是哪个对象?我该如何改变代码?
提前致谢!
答案 0 :(得分:1)
$('link')无效。没有名为“link”的HTML标记。 您可能想要做的是
<button data-image-id='bmw'>BMW</button>
<button data-image-id='merc'>Mercedes</button>
<img src='bmw.png' id='bmw' />
<img src='merc.png' id='merc' />
(function() {
$('button').click(function() {
var button = $(this);
var imageId = button.data('image-id');
var image = $('img#' + imageId);
image.toggle();
});
})();
单击按钮时,它会获取按钮的data-image-id,找到具有该ID的图像并切换图像。