接下来,我在下面有这个div,其中某些标签包含[INFO] [/ INFO]类型:
<div id="tags">
[INFO id=“rol”]
Rol -> is a greatest project to add in the same people
[/INFO]
[INFO id=“add”]
Add -> is moment who someone pick the ball and shoot in the cars
[/INFO]
[INFO id=“tree”]
tree -> is tree of a views in the other dimensions
[/INFO]
</div>
我创建了一个用jQuery制作的搜索引擎,在文本字段中键入内容并单击搜索,以便保存变量“SearchText”,如下所示:
$(“#buttonGo").click(function() {
var searchText = $(‘#searchField’).val();
});
之后,我所要做的就是:
获取存储在变量SearchText中的值,然后查找 div中的文字
然后找到文本,然后给出一个警告,显示它是什么 找到INFO标签,例如:
SearchText var =“其他视图”;
他必须识别标签[INFO id =“tree”] [/ INFO],因为文本位于此标签内....并且返回警报应如下所示:
(标签:信息,Id:树,desc:“树 - &gt;是其他维度中的视图树”)
我不知道从哪里开始,有人能帮我一把吗?
答案 0 :(得分:1)
要跟进我之前的评论,您可以创建一个INFO
对象,如下所示:
var treeInfo = new Object();
treeInfo.id = "tree";
treeInfo.description = "tree -> is tree of a views in the other dimensions"
接下来,如果您愿意,可以创建数组来保存信息对象:
var infoArray = [];
infoArray.push(treeInfo);
然后,当您检查提供的文本时,请使用简单的循环。例如:
for (var i = 0; i < infoArray.length; i++) {
if (infoArray[i].description.indexOf(searchTextVar) != -1){
//found correct text, do something.
}
}
最好将for
循环包装在函数中,并在找到匹配项时返回Info对象。
如果您不想将INFO
个对象存储在div中,则可以使用此路径。
编辑以解决有关数组大小的注释: 如果你想使用一大块文本,你可以使用下面的方法,虽然它不一定是最干净/最快的。这只是解决问题的一种方法。
使用这样的正则表达式:\[INFO id=.+?]
一次从searchTextVar
索引开始。然后,使用类似\[/INFO]
的内容从同一索引中找到结束标记。现在,使用正则表达式匹配中的索引的searchTextVar
子字符串将包含您的标记。
之后,生成的字符串应该是正确的标记,您可以解析文本并根据需要显示它。
如果您正在处理那么多标签,那么将它们存储在浏览器中可能不是最佳选择...考虑使用数据库或其他存储机制