jQuery:object不是函数

时间:2015-04-01 01:44:18

标签: javascript jquery image togglebutton

我一直试图通过按钮点击切换两个.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>

这指的是哪个对象?我该如何改变代码?

提前致谢!

1 个答案:

答案 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的图像并切换图像。