JavaScript 仅在页面重新加载后才起作用

标签 javascript

有一个 id 为 #surch 的搜索字段和一个包含大量 tr´s 的表,并且关于 keyup我想隐藏所有不包含 #surch 中输入的字符串的表 tr´s。我将其嵌入 <script src...>到我网站的所有文件,它在我的 index.php 上运行良好;在所有其他子页面上,它仅在页面重新加载后才起作用。

谁能给我一些帮助,这让我发疯。我尝试添加一个每次都会增加 javascript 源代码的 php 函数( ...sufu.js?updated=266 ),但它并没有解决我的问题。

编辑:我的页面上也运行了 google adsense,这里也有同样的问题。 adsense 在重新加载后才运行。有什么想法吗?

var $rows = $('#table tr');
$('#surch').keyup(function() {
  var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();

  $rows.show().filter(function() {
    var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
    return !~text.indexOf(val); 
  }).hide();
});

最佳答案

这对我来说在 JSFiddle 中工作得很好。 Try it out.

<input type=text id='surch'>
<table id='table'>
  <tr><td>x</td></tr>
  <tr><td>y</td></tr>
  <tr><td>z</td></tr>
  <tr><td>p</td></tr>
</table>

当然,我假设您的表有一个 id 'table',这是您的 $rows 选择器所需要的。否则,您只需选择 $('table tr')。

(编辑:另外,是的,我假设你的 JS 在文档加载时运行。)

关于JavaScript 仅在页面重新加载后才起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19469095/

相关文章:

javascript - 如何从特定帐户流式传输推文

Javascript 绑定(bind)函数事件数据为空或不是 IE 8 中的对象

JavaScript:一次性验证表单

javascript - 原生基础输入的 Formik 验证

javascript - sails.js node.js 在 Controller 上解析 JSON

javascript - React.js 原生 Flexlayout

javascript - 如何根据一组控制和目标坐标将图像转换为不同的尺寸?

javascript - chrome 扩展 popup.js 问题中的 setTimeout 函数

javascript - 悬停时放大图像的智能方法

javascript - 使用 'var' 声明变量是可选的吗?