【发布时间】:2013-11-25 17:58:36
【问题描述】:
我有一个搜索字段,如果我输入 board 它什么也不返回,但如果我输入 Board 它会返回。 我开始搜索,发现与 HTML 不同,XHTML 是区分大小写的......
示例 XML
<prop-db>
<prop caption="Sign Board A" />
</prop-db>
JS 片段
switch (last_search) {
case "show_all":
load('prop-db > prop');
break;
default:
load('prop-db > prop[caption*="{0}"]'.format(last_search));
}
默认情况下会尝试查找用户在 search_field 中输入的任何内容。 这就是 load 函数获取带有标题的元素的方式:
if (!search) {
data2 = $(data).find('prop-db > prop').slice(-18);
} else { //gets executed when search equals true (when load is called with a parameter)
data2 = $(data).find(syntax);
}
所以它应该找到包含 Board/board/BoaRD 等的每个元素...(查找应该不区分大小写)
编辑 - 用过滤器 + 正则表达式尝试了这个,我知道我做错了什么......:
data2 = $(data).find(syntax).filter(function() {
return $(this).text().match(new RegExp(str, 'i'));
});
【问题讨论】:
-
建议:明确提出你的问题。
-
我刚刚在 OP 的底部编辑了那个...
-
@HenryFlorence 对,但是如何将过滤器(如该帖子中所述)与 XML 的 find 方法合并?
-
看这里:stackoverflow.com/questions/7262402/… 我猜,你可以
.filter().find(syntax)使用不区分大小写的正则表达式
标签: javascript jquery xml