Javascript函数混淆了jQuery代码

时间:2014-07-09 06:11:03

标签: javascript jquery html

我的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">

中的超链接时,我有一个jQuery代码来取消隐藏同一页面上的另一个div
$(".termselector").click(function () {
    var termID= $(this).attr('name');
    var containerID= '#term' + termID;      
    $(containerID).show();
});

所有代码都在同一个script.js文件中。我的问题是,如果我不使用搜索功能,上面的jQuery工作正常,但在使用搜索功能后,jQuery代码不再起作用了。我试图将它们放在2个单独的js文件中,但问题仍然存在。请帮忙

0 个答案:

没有答案