当我在body部分将表元素更改为div样式时,如何修复jquery? jQuery javascript php sql XML ASP $(文档).ready(函数(){ $('#search').keyup(函数(){ 搜索框($(this.val()); }); }); 函数搜索框(inputVal){ $('#boxdata')。查找('tr')。每个(函数(索引,行){ 变量名称=$(行).find('td'); var=false; 如果(names.length>0){ 每个函数的名称(索引,td){ var regExp=新的regExp(inputVal,'i'); if(regExp.test($(td.text())&inputVal!=''){ 发现=真; 返回false; } }); if(find==true) $(行).addClass(“红色”); 其他的 $(行)。removeClass(“红色”); } }); }
有一个用于搜索单词的文本字段,文本字段下面的6个框中各有6个单词。(我省略了css代码。但是,解决这个问题并不重要。)。如果我键入一个字母“s”,那么包含字母“s”的单词,如“javascript”、“sql”、“ASP”,这些字体颜色将由黑色变为红色。我通过在html中使用表元素实现了这一点,但我希望将所有元素都更改为div样式,以便稍后流畅地放置一些数据。我很难修复jquery。我如何修复它?您可以将其简化一点当我在body部分将表元素更改为div样式时,如何修复jquery? jQuery javascript php sql XML ASP $(文档).ready(函数(){ $('#search').keyup(函数(){ 搜索框($(this.val()); }); }); 函数搜索框(inputVal){ $('#boxdata')。查找('tr')。每个(函数(索引,行){ 变量名称=$(行).find('td'); var=false; 如果(names.length>0){ 每个函数的名称(索引,td){ var regExp=新的regExp(inputVal,'i'); if(regExp.test($(td.text())&inputVal!=''){ 发现=真; 返回false; } }); if(find==true) $(行).addClass(“红色”); 其他的 $(行)。removeClass(“红色”); } }); },javascript,jquery,Javascript,Jquery,有一个用于搜索单词的文本字段,文本字段下面的6个框中各有6个单词。(我省略了css代码。但是,解决这个问题并不重要。)。如果我键入一个字母“s”,那么包含字母“s”的单词,如“javascript”、“sql”、“ASP”,这些字体颜色将由黑色变为红色。我通过在html中使用表元素实现了这一点,但我希望将所有元素都更改为div样式,以便稍后流畅地放置一些数据。我很难修复jquery。我如何修复它?您可以将其简化一点 <body> <input type="text" i
<body>
<input type="text" id="search"/>
<table id="boxdata">
<tr>
<td class="namebox1">jQuery</td>
</tr>
<tr>
<td class="namebox2">javascript</td>
</tr>
<tr>
<td class="namebox3">php</td>
</tr>
<tr>
<td class="namebox4">sql</td>
</tr>
<tr>
<td class="namebox5">XML</td>
</tr>
<tr>
<td class="namebox6">ASP</td>
</tr>
</table>
</body>
<script>
$(document).ready(function(){
$('#search').keyup(function(){
searchBox($(this).val());
});
});
function searchBox(inputVal) {
$('#boxdata').find('tr').each(function(index, row){
var names = $(row).find('td');
var found = false;
if(names.length > 0) {
names.each(function(index, td) {
var regExp = new RegExp(inputVal, 'i');
if(regExp.test($(td).text()) & inputVal != ''){
found = true;
return false;
}
});
if(found == true)
$(row).addClass("red");
else
$(row).removeClass("red");
}
});
}
</script>
因此,首先从所有
类中删除红色
类,然后过滤它们,测试每个
的文本,如果匹配,返回
,然后再次添加类红色
至于从表
更改为div
,jQuery将取决于您如何构造标记,但原则将保持不变
通过使用css类而不是元素名,可以使javascript代码不受HTML的影响
问题标题与其内容不匹配。请重新措辞,否则您将开始获得否决票。我的意思是我想通过使用div标记和jquery修复body部分而不是表元素。我怎样才能修复它?@MrSeo我不明白你在问什么我想改变body部分和jquery。通过使用div标记,而不是使用table标记。你能理解吗?@SEO先生,你读了我答案的最后一部分,并看了小提琴吗?
function searchBox(inputVal) {
var regExp = new RegExp(inputVal, 'i');
$('#boxdata').find('tr').removeClass('red').filter(function() {
return $(this).find('td').filter(function() {
return regExp.test( $(this).text() );
}).length && $.trim(inputVal).length;
}).addClass('red');
}
function searchBox(inputVal) {
var regExp = new RegExp(inputVal = $.trim(inputVal), 'i'),
highlight = 'red';
$('#wrapper').find('.word') //instead of tr/td/div
.removeClass(highlight)
.each(function(){
var $this = $(this);
inputVal && regExp.test($this.text()) &&
$this.addClass(highlight);
});
}