我的javascript和jQuery有问题。我的HTML页面包含许多隐藏的<div class="section">
用于我的词汇表术语目的。如果文本与搜索关键字匹配,则使用javascript的搜索框取消隐藏<div class="section">
。
这是搜索功能。它的作用是在所有<div class="section">
中查找searchTerm,突出显示找到的searchTerm并取消隐藏div。
var run = 0; // used to cycle through colours
var colours = new Array(7);
colours[0] = 'yellow';
colours[1] = 'orange';
colours[2] = '#FF6666';
colours[3] = 'pink';
colours[4] = 'lightblue';
colours[5] = 'turquoise';
colours[6] = 'lightgreen';
function findall(searchTerm) {
if (!searchTerm) {
window.alert('Please enter a word or phrase to search for');
return false;
}
if(searchTerm.length <2)
{
alert("Keyword is too short, try again");
return false;
}
var source = document.getElementsByClassName("section");
var count = 0;
for(var i = 0; i < source.length; i++)
{
if(source[i].innerHTML.search(searchTerm) > 0)
{
var temp = new RegExp("("+searchTerm+")","gi");
count = count + source[i].innerHTML.match(temp).length;
source[i].style.display ='block';
var src_str = source[i].innerHTML;
var pattern = new RegExp("("+searchTerm+")", "gim");
src_str = src_str.replace(pattern, "<span style='background-color:"+colours[run]+"'>$1</span>");
source[i].innerHTML = src_str;
}
}
run++;
}
当用户点击<div class="section">
$(".termselector").click(function () {
var termID= $(this).attr('name');
var containerID= '#term' + termID;
$(containerID).show();
});
所有代码都在同一个script.js文件中。我的问题是,如果我不使用搜索功能,上面的jQuery工作正常,但在使用搜索功能后,jQuery代码不再起作用了。我试图将它们放在2个单独的js文件中,但问题仍然存在。请帮忙