簡體   English   中英

選擇器無法正常工作

[英]selector don't work properly

我有1個街區:

<div class="going" filmid="2">
<a href="">I am going!</a>
<div>Going too: 20</div>
</div>

和5塊:

<div class="going">
<a href="">I am going!</a>
<div>Going too: 20</div>
</div>

該塊的不同之處在於具有filmid屬性。
我的js函數:

function setUpUpdateGoingCount() {
            $("div.going a").click(function (e) {
                e.preventDefault();
                var filmId = $(this).parent("div").attr("filmid");
                $.post("/Cinema/UpdateGoingCount", { id: filmId }, function () {
                    alert("test");
                });
            });
        }

單擊事件可以很好地與沒有filmid效果的塊filmid使用。
您能解釋一下為什么以及如何使第一個程序正常工作嗎?

因為filmid不是HTML中存在的屬性,所以您應該改用data屬性:

<div class="going" data-filmid="2">

您可以通過以下方式訪問此文件:

var filmId = $(this).parent("div").data("filmid");

AJAX帖子以任一方式發送。 設置了filmid div內的錨點(鏈接),其參數id設置為filmid的內容。 不包含filmid的div發送時,參數為空。

UDATE如果您的意思是不工作 ,則javascript不顯示警告消息,那可能是因為您在該調用中遇到錯誤,並且需要以這種方式指定錯誤函數:

function setUpUpdateGoingCount() {
    $("div.going a").click(function(e) {
        e.preventDefault();
        var filmId = $(this).parent("div").attr("filmid");
        $.post("/Cinema/UpdateGoingCount", {
            id: filmId
        }, function() {
            alert("test");
        }).error(function() {
            alert("error");
        });
    });
}

這是您的代碼http://jsfiddle.net/hpgsL/1/的有效示例

您需要將第二個類添加到不包含filmid的塊中,以在選擇器中使用,因為.click將綁定到所有div。並確定它們是否具有filmid屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM