簡體   English   中英

使用if來使用jQuery檢測類

[英]using an if to detect a class using jQuery

我正在嘗試將表單放入要導入API的serializedArray中,但是我需要檢測所有帶有“ image”類的元素,而不是像其他元素那樣進行處理,而是將它們放入一個數組。 問題是我不知道該如何建立條件。

我目前擁有的是:

add.serializeArray().forEach(function(input) {
    if(input.class === "images"){
        data[images].push(input.value);
    }
    else{
        data[input.name] = input.value;
    }
});

因此,我遍歷了所有輸入元素,如果它們不是此類,請照常添加它們。

我修改了這個問題,因為使用提出的解決方案,$(this)正在獲取該類的未定義值,而input.class也正在獲取未定義的值。 我可以通過此方法達到的唯一屬性是名稱和值(如上圖所示)

抱歉,如果有不清楚的地方,這是我第一次使用堆棧溢出,在此先謝謝您。

編輯:我也試圖用我在w3schools上找到的serializeArray的例子來解決這個問題,但是看來這也不起作用

$(document).ready(function(){
    $("button").click(function(){
        var x = $("form").serializeArray();
        $.each(x, function(i, field){
            if($(this).hasClass("images")){
                $("#results").append("if is sentence is true "+field.name + ":" + field.value + " </br>");
            }
            else{
                $("#results").append("if sentence is false "+field.name + ":" + field.value + " </br>");
            }
        });
    });

你可以這樣

你可以在這里看到信息

add.serializeArray().forEach(function(input) {
    if($( this ).hasClass( "image" )){
        data[images].push(input.value);
    }
    else{
        data[input.name] = input.value;
    }
});

最后,我設法使它正常工作,類似於Java中的“ contains”。 我們訪問input.name字符串(我無法訪問其他屬性),如果它包含字符串“ images”,則將它們添加到數組中:

var data = { };
data["images"] = [];
add.serializeArray().forEach(function(input) {
    if(input.name.indexOf("images") > -1){
        data["images"].push(input.value);
    }
    else{            
        data[input.name] = input.value;
    }
});

所以,這就是我解決的方法,因為問題出在沒有任何類屬性的元素輸入中。 我把它留在這里,以防有人需要!

暫無
暫無

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

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