Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
Javascript 如何使用jQuery查找具有电子邮件地址作为类名的元素?_Javascript_Jquery_Html_Classname - Fatal编程技术网

Javascript 如何使用jQuery查找具有电子邮件地址作为类名的元素?

Javascript 如何使用jQuery查找具有电子邮件地址作为类名的元素?,javascript,jquery,html,classname,Javascript,Jquery,Html,Classname,如何找到一个以电子邮件地址作为类名的元素。 电子邮件地址是动态的 $(文档).ready(函数(){ //无法获得错误 var电子邮件=”abc@gmail.com"; $(“#main”).find(“.”+电子邮件); //不起作用 $(“#main”).find(“.”+escapeSelecorchars(电子邮件)); }); 函数escapeSelecorchars=函数(val){ 返回val.replace(/[!“\$%&'()*+,.\/:;?@[\\]^`{\\}]/g,“

如何找到一个以电子邮件地址作为类名的元素。 电子邮件地址是动态的

$(文档).ready(函数(){
//无法获得错误
var电子邮件=”abc@gmail.com";
$(“#main”).find(“.”+电子邮件);
//不起作用
$(“#main”).find(“.”+escapeSelecorchars(电子邮件));
});
函数escapeSelecorchars=函数(val){
返回val.replace(/[!“\$%&'()*+,.\/:;?@[\\]^`{\\}]/g,“\\\$&”);
};

我想试试这样的

Js:

Html:


这是一个工作插销

使用

console.log($('#main > div[class="abc@gmail.com"]').length);
$(文档).ready(函数(){
console.log($('#main>div[class=”abc@gmail.com“]”)。长度);
$(“#main”).find(“div[class='1])abc@gmail.comhtml(“追加”);
});

我同意将电子邮件地址作为一个类使用可能不是最好的主意。但是,您的转义方法不起作用的唯一原因是您转义不正确。您的替换值中有太多的
\

应该是

function escapeSelecorchars(val) {
  return val.replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g,"\\$&");
};
函数escapeSelecorchars(val){
返回val.replace(/[!“\$%”和“()*+,.\/:;?@[\\]^`{\\}]/g,\$&”);
};

然后。

由于特殊字符,很难找到元素

签出此代码

$(文档).ready(函数(){
//无法获得错误
var ele=$(“#main”).find(“div[data email=”abc@gmail.com']");
console.log($(ele.attr('data-email'))
});

试试看


使用
data-attr()
而不是将电子邮件值放入classbut how to find the element可以给出示例,但这只是用属性选择器标识元素“但是how to find the element可以给出示例”的唯一方法@pareshm检查这个我只想找到一个div,不能使用每个循环你说的动态更改是什么意思?你是说你在变量中接收了电子邮件?
console.log($('#main > div[class="abc@gmail.com"]').length);
function escapeSelecorchars(val) {
  return val.replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g,"\\$&");
};
$('#main div').filter(function(){ return $(this).attr('class') == 'abc@gmail.com'});
$('div').filter(function(){ return $(this).attr('class') == 'abc@gmail.com'});