javascript - jQuery 条件问题

标签 javascript jquery html

我有两个 anchor 链接,一个是 Like,第二个是 Favorite 现在,我正在尝试在用户点击特定选项时发出警报。

如果用户点击Like选项alert('Like Clicked');

如果用户点击收藏选项alert('Favorite Clicked');

但是出了点问题,点赞和收藏收到了多个提醒。

我不能低估我的代码有什么问题。

我的 JS 工作:

$(window).load(function(){
    $('.ovrly a').click( function () {
        var getImageID = $(this).attr("id"); //class name with id

        if($(".like").children("."+getImageID)) {
            alert('Like Clicked');  
        }

        if($(".fav").children("."+getImageID)) {
            alert('Favourite Clicked'); 
        }
    });
});

我的 HTML 作品:

<div class="ovrly">
    <span class="like">
        <a class="like_32" id="like_32" href="javascript:void(0);">Like</a>
        <p class="likeCount_32">
            15
        </p> 
    </span>

    <span class="fav">
        <a class="favourite_32" id="favourite_32" href="javascript:void(0);">Favourite</a>
        <p class="favouriteCount_32">
            09
        </p> 
    </span>
</div>

我的样本 JS FIDDLE

我的 Ajax 示例代码:

<script type="text/javascript">
    // like and favourite ajax script
    $(function () {
        $('.load_more_ctnt .ovrly a').live("click", function () {
            var getImageID = $(this).attr("id"); //class name with id
            var getID = getImageID.replace(/[^0-9]+/g, ""); //only id
            var getOptionName = getImageID.replace(/[^A-Za-z]+/g, ""); //only id
            //alert(getImageID);

            $(document).ajaxStart(function() {

                if($(".like").children("."+getImageID).length > 0) {
                    alert('Like Clicked');  
                }

                if($(".fav").children("."+getImageID).length > 0) {
                    alert('Favourite Clicked'); 
                }

            }).ajaxStop(function() {


               if($(".like").children("."+getImageID).length > 0) {
                    alert('Like Clicked');  
               }

               if($(".fav").children("."+getImageID).length > 0) {
                    alert('Favourite Clicked'); 
               }

            });

            if (getImageID) {
                $.ajax({
                    type: "POST",
                    url: "<?php echo URL; ?>home/passImageID",
                    data: "getImageID=" + getImageID,
                    success: function (html) {
                        $("#" + getImageID).removeAttr("id");

                        if(html == 'like'){
                            $("." + getImageID).addClass( "iplike" );
                            var incrementBy1 = $(".likeCount_" + getID).text();
                            var tempLikeNewValue = +incrementBy1+1;
                            $(".likeCount_" + getID).text("");
                            $(".likeCount_" + getID).text(tempLikeNewValue);

                        }else{

                            $("." + getImageID).addClass( "ipfav" );
                            var incrementBy1 = $(".favouriteCount_" + getID).text();
                            var tempFavNewValue = +incrementBy1+1;
                            $(".favouriteCount_" + getID).text("");
                            $(".favouriteCount_" + getID).text(tempFavNewValue);

                        }

                    }
                });
            } else {
                 //$(".more_tab").html('The End');
            }

            return false;
        });
    });
 </script>

最佳答案

我想你需要.is() .

Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments.

代码

$('.ovrly a').click(function () {
    if ($(this).is(".like_32")) {
        alert('Like Clicked');
    }

    if ($(this).is(".favourite_32")) {
        alert('Favorite Clicked');
    }
});

DEMO

关于javascript - jQuery 条件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22913664/

相关文章:

php - 将变量从 PHP 传递到 javascript 并传递到 html 表单

Jquery & KendoUI 下拉列表动态创建

javascript - 在我的案例中如何控制元素在其 parent 中的位置?

jquery - Mootools 相当于之前的 jQuery

html - IOS App 与 Web 服务通信

javascript - 拖动在 Internet Explorer 中不起作用

javascript - 使用 JavaScript 用数据库日期填充文本框

javascript - 在 http-on-examine-response 之前返回响应

javascript - 使用 Google Apps 脚本解析 XML 元素中的所有值?

jquery - 根据表格网格宽度自动调整jqgrid列宽