在选择器中转义反斜杠

Posted

技术标签:

【中文标题】在选择器中转义反斜杠【英文标题】:Escaping a backslash in selector 【发布时间】:2019-11-12 17:02:06 【问题描述】:

我正在尝试将反斜杠转义到我的一个选择器中:

if ( $("#\38 b13d5ea8c7081ff2ed6e34ab9d05ced > div.small-box.bg-red").hasClass("bg-red") ) 
    //do something it does have the protected class!
    console.log("i have the protected class");

已经试过了:

#//\38 b13d5ea8c7081ff2ed6e34ab9d05ced > div.small-box.bg-red//

#//\38 b13d5ea8c7081ff2ed6e34ab9d05ced > div.small-box.bg-red//

但这并不能解决问题。非常感谢您的专业知识。

干杯!! , 马克

附加信息:

我需要检查“bg-red”类是否存在于以下 div 之一中:

html

<div id="area4" class="col-sm-3 connectedSortable ui-sortable">

        <div id="8b13d5ea8c7081ff2ed6e34ab9d05ced" class="border-box">

                                    **<div class="small-box bg-red">**
                <div class="inner inner-box">
                    <p> </p>
                    <p>Veuillez svp saisir vos coordonnées<br><br></p>
                </div>
                <div class="icon">
                    <i class="ion ion-person"></i>
                </div>
                <a href="/admin/mes_coordonnees/details" class="small-box-footer">Saisir mes coordonnées <i class="fa fa-arrow-circle-right"></i></a>
            </div>
            <div class="action pull-right">
                <a href="javascript:void(0)" data-componentid="8b13d5ea8c7081ff2ed6e34ab9d05ced" data-name="Small Box" class="btn-edit-component"><i class="fa fa-pencil"></i></a>
                &nbsp;
                <a href="javascript:void(0)" data-componentid="8b13d5ea8c7081ff2ed6e34ab9d05ced" class="btn-delete-component"><i class="fa fa-trash"></i></a>
            </div>
                    </div>

</div>

【问题讨论】:

您能否分享您想要控制的 HTML,或者至少是其中的一部分,以便更清楚地了解您想要做什么?你在使用标签 吗? 你没有提供任何帮助。 感谢@rob-kwasowski,我添加了一些额外的信息。 感谢@adesh-kumar,我添加了一些额外的信息。 选择器中的 \31 是什么。它不在您的 html 中 【参考方案1】:

转义反斜杠本身:

$("#\\38 ...")

【讨论】:

感谢@Jack-bashford,仍然出现以下错误:dashboards.js:1 Uncaught ReferenceError: $ is not defined 确保你导入了 jQuery。【参考方案2】:

请检查一次,如果需要其他任何内容,请告诉我

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function()
$("#button").on('click',function()
var a = $("div#8b13d5ea8c7081ff2ed6e34ab9d05ced div.small-box")
console.log(a)
if(a.hasClass("bg-red"))
alert("hii")

)


);
</script>
</head>
<body>
<button id="button">Click to check class</button>
<div id="area4" class="col-sm-3 connectedSortable ui-sortable">

        <div id="8b13d5ea8c7081ff2ed6e34ab9d05ced" class="border-box">

                                    **<div class="small-box bg-red">**
                <div class="inner inner-box">
                    <p> </p>
                    <p>Veuillez svp saisir vos coordonnées<br><br></p>
                </div>
                <div class="icon">
                    <i class="ion ion-person"></i>
                </div>
                <a href="/admin/mes_coordonnees/details" class="small-box-footer">Saisir mes coordonnées <i class="fa fa-arrow-circle-right"></i></a>
            </div>
            <div class="action pull-right">
                <a href="javascript:void(0)" data-componentid="8b13d5ea8c7081ff2ed6e34ab9d05ced" data-name="Small Box" class="btn-edit-component"><i class="fa fa-pencil"></i></a>
                &nbsp;
                <a href="javascript:void(0)" data-componentid="8b13d5ea8c7081ff2ed6e34ab9d05ced" class="btn-delete-component"><i class="fa fa-trash"></i></a>
            </div>
                    </div>

</div>

</body>
</html>

【讨论】:

【参考方案3】:

2 提供的解决方案

我忘记在我的刀片文件中导入 jquery,完成后它可以工作。

@adesh-kumar

 $('div .small-box').hasClass('bg-red')

@杰克巴什福德

 $('#\\38 b13d5ea8c7081ff2ed6e34ab9d05ced').hasClass('bg-red');

感谢你们的时间和帮助。

特别感谢那些减去我问题的人,这真的很有帮助,非常感谢......

【讨论】:

以上是关于在选择器中转义反斜杠的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 中转义反斜杠?

我需要在配置文件中转义反斜杠吗?

在字符串中转义反斜杠 - javascript

在 shell 中的双引号字符串中转义反引号

PHP基础

文件路径中正斜杠 (/) 和反斜杠 (\) 之间的区别