使用if来检测使用jQuery的类

using an if to detect a class using jQuery

本文关键字:jQuery 的类 检测 if 使用      更新时间:2023-09-26

我正在尝试将一个表单放入serializedArray中,以引入API,但我需要检测类为"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;
    }
});

因此,我就是这样解决的,因为问题存在于没有任何类属性的元素输入中。我把它留在这里,以防有人需要!