Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax-如何检查CSS类返回的HTML?_Jquery_Ajax_Asp.net Mvc_Asp.net Ajax - Fatal编程技术网

Jquery Ajax-如何检查CSS类返回的HTML?

Jquery Ajax-如何检查CSS类返回的HTML?,jquery,ajax,asp.net-mvc,asp.net-ajax,Jquery,Ajax,Asp.net Mvc,Asp.net Ajax,我正在使用Ajax发布到.NETMVC控制器。它返回要显示在页面某个部分上的HTML。我需要做的是以某种方式确定HTML是否包含类名,以便我可以使用它来更新网页的另一部分 这是我的Ajax调用 $.ajax({ type: "POST", url: url, data: data, success: function (response) { $("#validation-remarks").html(response); $("

我正在使用Ajax发布到.NETMVC控制器。它返回要显示在页面某个部分上的HTML。我需要做的是以某种方式确定HTML是否包含类名,以便我可以使用它来更新网页的另一部分

这是我的Ajax调用

 $.ajax({
    type: "POST",
    url: url,
    data: data,
    success: function (response) {
        $("#validation-remarks").html(response);
        $("#updateMessage").html(response);

        console.log(response);

        var html = $.parseHTML(response);
        //somehow check the HTML for a value

        $("#divLoading").hide();
    }
它返回以下引导HTML之一

@if (Model.IsSuccessful)
{
    <div class="alert alert-dismissible alert-success">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        @Model.UpdateMessage
    </div>
}
else
{
    <div class="alert alert-dismissible alert-danger">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <strong>@Model.UpdateMessage</strong> 

        <div class="pt-2">
            @Html.Raw(Model.ValidationMessage)
        </div>
    </div>
}


我认为您可以轻松地使用Javascript搜索该CSS类。比如
response.indexOf('NameOfClass')>-1
。我希望它有意义。

我认为您可以轻松地使用Javascript搜索该CSS类。比如
response.indexOf('NameOfClass')>-1
。我希望它有意义。

如果您正在使用jQuery,您可能会发现它很有用

.hasClass(类名)
确定是否将任何匹配的元素分配给给定的类

下面,我将响应转换为一个类,然后测试该对象的类名

var响应=[
`
&时代;
@Model.UpdateMessage
`,
`
&时代;
@Model.UpdateMessage
@Html.Raw(Model.ValidationMessage)
`,
`
`
];
变量$output=$(“#output”);
$。每个(响应,函数(k,响应){
var$html=$(响应);
if($html.hasClass('alert-success')){
$output.append(''+k+')包含成功(

'); }else if($html.hasClass('alert-danger')){ $output.append(''+k+')包含危险(

'); }否则{ $output.append(''+k+')既不包含

'); } });
如果您正在使用jQuery,您可能会发现它很有用

.hasClass(类名)
确定是否将任何匹配的元素分配给给定的类

下面,我将响应转换为一个类,然后测试该对象的类名

var响应=[
`
&时代;
@Model.UpdateMessage
`,
`
&时代;
@Model.UpdateMessage
@Html.Raw(Model.ValidationMessage)
`,
`
`
];
变量$output=$(“#output”);
$。每个(响应,函数(k,响应){
var$html=$(响应);
if($html.hasClass('alert-success')){
$output.append(''+k+')包含成功(

'); }else if($html.hasClass('alert-danger')){ $output.append(''+k+')包含危险(

'); }否则{ $output.append(''+k+')既不包含

'); } });
假设
警报
div是响应的根元素,下面的
issucess
isDanger
将返回一个布尔值

var html = $.parseHTML(response);
//test for '.alert-success'
var isSuccess = $( html ).is('.alert-success');
//test for '.alert-danger'
var isDanger = html.is('.alert-danger');
.is(选择器)
对照选择器、元素或jQuery对象检查当前匹配的元素集,如果至少有一个元素,则返回true 这些元素的个数与给定的参数匹配


假设
alert
div是响应的根元素,下面的
issucess
isDanger
将返回一个布尔值

var html = $.parseHTML(response);
//test for '.alert-success'
var isSuccess = $( html ).is('.alert-success');
//test for '.alert-danger'
var isDanger = html.is('.alert-danger');
.is(选择器)
对照选择器、元素或jQuery对象检查当前匹配的元素集,如果至少有一个元素,则返回true 这些元素的个数与给定的参数匹配


谢谢,我将尝试一下。hasClass可以工作并且目前正在使用它,但是,我看到它返回JSON,所以我尝试解析JSON,然后查看IsValid属性。我犯了一个错误。我将更新后的代码放在原始问题中。你明白为什么JSON代码会抛出错误了吗?从jQuery文档来看,它似乎应该可以工作。您的脚本似乎没有以JSON格式返回数据。谢谢,我将尝试一下。hasClass可以工作并且当前正在使用它,但是,我看到它返回JSON,所以我尝试解析JSON,然后查看IsValid属性。我犯了一个错误。我将更新后的代码放在原始问题中。你明白为什么JSON代码会抛出错误了吗?从jQuery文档看,它似乎应该可以工作。您的脚本似乎没有以JSON格式返回数据。使用jQuery 3.0.0时,我收到一个错误,说“html.is不是函数”。如果将
$.parseHTML
替换为
$
,会怎么样?我需要更多地使用
3.0.0
parseHTML
返回一组DOM节点。要使用
is()
,您需要一个jQuery对象<代码>$($.parseHTML(响应))或仅
$(响应)应该可以工作。使用jQuery 3.0.0时,我收到一个错误,说“html.is不是一个函数”。如果您将
$.parseHTML
替换为
$
,该怎么办?我需要更多地使用
3.0.0
parseHTML
返回一组DOM节点。要使用
is()
,您需要一个jQuery对象<代码>$($.parseHTML(响应))或仅
$(响应)应该可以。这也可以,但我喜欢.hasClass选项。看起来有点直观。这也可以,但我喜欢.hasClass选项。看起来更直观一点。