在普通JavaScript中隐藏/显示元素

在普通JavaScript中隐藏/显示元素,javascript,Javascript,我写了几行jQuery代码,但不知道如何在普通JavaScript中实现这一点。该输出: echo "<tr id='perf_row' class='table_header_tr' name='tr_$row_fio_perf[0]'> <td class='table_header_td' name='td_$i'> $i </td> <tr>"; echo” $i "

我写了几行jQuery代码,但不知道如何在普通JavaScript中实现这一点。该输出:

echo "<tr id='perf_row' class='table_header_tr' name='tr_$row_fio_perf[0]'>
          <td class='table_header_td' name='td_$i'>
          $i
          </td>
      <tr>";
echo”
$i
";
搜索输入。当用户输入字符时,表行(输出较高)必须隐藏并仅显示与搜索词匹配的内容

<input type="text" onkeyup="showPerformers();" id="ShowSearchPerformers">

  function showPerformers(){      
            var search_login = $('#ShowSearchPerformers').val();
            search_login = search_login.toLowerCase();               
            $('tr[name^=tr_]').hide();
            var search = 'tr[name*=' + search_login+']';
            $(search).show(); 
    }

函数showPerformers(){
var search_login=$('#ShowSearchPerformers').val();
search_login=search_login.toLowerCase();
$('tr[name^=tr_]')。hide();
var search='tr[name*='+search_login+'];
$(search.show();
}

如何用JavaScript而不是jQuery编写此函数?

我建议使用一种不同的方法,但要基于您的代码,并且不要过于复杂:

<input type="text" onkeyup="showPerformers(this,event);" id="ShowSearchPerformers">
如果我没有弄错的话,这应该是有效的,并且按照您的期望执行。它确实需要一些微调,但我不想破坏你的乐趣:)。只是一个提示,就目前而言,您无法保证用户输入是数字的:例如,输入
a
将隐藏所有行,而不显示任何行。您可以通过以下任一方式解决此问题:

value.replace(/[^0-9]/g,'');//leaves only numbers
Math.floor(parseFloat(value));//Math.floor(parseFloat(' 123.1s')) --> 123

只需玩一点,顺便说一句,这是一个很好的沙箱,可以存放类似的东西

为什么不使用jQuery?你的浏览器目标是什么?能够使用
querySelectorAll
在这里会有很大帮助,但是在IE7.felix中它不起作用,我在jquery之前学习过,现在尝试学习js))m90,最新版本的chrome和firefox,我可以隐藏所有表行,但不知道如何显示它们,你能给我一个方案吗,只有函数可以帮助我做到这一点,我会这样做)这让我很困惑,这个与核心javascript语言有关的问题怎么会被标记为太本地化了。我尝试了这段代码,但没有成功,但我会严格按照我的示例来解决。真相就在那里!thanks@user1506183:尝试设置一个摆弄你的代码(一个用于工作代码,另一个用于“纯JS”代码,也许这里有人可以看到问题。很难为我看不到的DOM树编写正确的代码。。。
value.replace(/[^0-9]/g,'');//leaves only numbers
Math.floor(parseFloat(value));//Math.floor(parseFloat(' 123.1s')) --> 123