Javascript标记到Jquery Switch语句

时间:2014-02-05 13:07:20

标签: javascript jquery html5

当按下按钮触发此事件时,我制作了作为事件持有者的脚本标签。设置如下:我有6个按钮,我从btn1到btn6做了六次。

<input type="button" id="btn1" value="AUS">

<script type="text/javascript">
    var modal = document.getElementById('modal');
    var shade = document.getElementById('shade');

    document.getElementById('btn1').onclick = function() {
        var src = "img2/Australia.jpg";
        var img = document.getElementById("placeholderImg");
        img.src = src;
        img.style.display = "inline";
        modal.style.display = shade.style.display = 'block';
    };

    document.getElementById('close2').onclick = function() {
        modal.style.display = shade.style.display = 'none';
    };
</script>

在我完成后,我注意到它们正在工作,但是有些实例它们停止运行,我的朋友告诉我,“如果你使用Jquery Switch声明怎么办?”。这是我想出来的,但是如果你能帮助我指出我的错误,我无法让它发挥作用。我将非常感激。

Jquery代码:

$('.sbutton').on('click', function () {
    switch (this.val()) {
    case 'btn1':
        var src = "img2/Australia.jpg";
        var img = document.getElementById("placeholderImg");
        img.src = src;
        img.style.display = "inline";
        modal.style.display = shade.style.display = 'block';
        break;
    }
});

1 个答案:

答案 0 :(得分:3)

在事件处理程序中,this是本机DOM元素。

更改

switch (this.val()) {

switch ($(this).val()) {

或(更好)

switch (this.value) {

但你应该在控制台中看到错误。请阅读Using the console