Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 每个HTML div都需要一个_Jquery_Match_Each - Fatal编程技术网

Jquery 每个HTML div都需要一个

Jquery 每个HTML div都需要一个,jquery,match,each,Jquery,Match,Each,HTML: 我试图解析出{大括号}中包装的所有项目 我希望看到以下结果: ['{name}','{demo}','{yes}','{no}'] 但当我运行代码时,我得到的是: ['{name}','{demo}value=“{yes}','{demo}value=“{no}]”/{(.*)/gi $.each($('div'), function (k, v) { var s = $(v).html(); console.log(s.match(/{(.*)}/gi)); });

HTML:

我试图解析出
{
大括号
}
中包装的所有项目

我希望看到以下结果:

['{name}','{demo}','{yes}','{no}']

但当我运行代码时,我得到的是:

['{name}','{demo}value=“{yes}','{demo}value=“{no}]”
/{(.*)/gi

$.each($('div'), function (k, v) {
    var s = $(v).html();
    console.log(s.match(/{(.*)}/gi));
});
在正则表达式中,
*
量词默认为“贪婪”。这意味着它将尽可能多地捕获。正因为如此,你得到了比你预期的更广泛的比赛

一种解决方案是通过添加一个
,使您的
*
操作符“懒惰”:

/{(.*?}/gi

$.each($('div'), function (k, v) {
    var s = $(v).html();
    console.log(s.match(/{(.*)}/gi));
});
更好的解决方案是使用匹配所有非
}
字符的字符类,而不是将任何字符与
匹配:

/{([^}]*)}/gi

{name}
$.each($('div'), function (k, v) {
    var s = $(v).html();
    console.log(s.match(/{(.*)}/gi));
});
var t=[“{name}”:“name”,“{yes}”:是,“{no}”:“不,我没有”] $。每个($('div'),函数(k,v){ var s=$(v.html(); var d=s.match(/{([^}]*)}/gi); $(v).html(t[d]); });

值不变

请添加更多细节!!!代码结果
{name}
{demo}value=“{yes}
{demo}value=“{no}
但需要结果
{name}
{demo}
{yes}
{no}
搜索并更改值和html以获取所需$(此).html是正确的,但值不改变。我如何联系您?@Locked请发送运营商pidgeon。但是,老实说,我不知道你在问什么。我们需要专业的“f-e”