【问题标题】:Echoing Jquery "contains" statement doesn't work回显 Jquery“包含”语句不起作用
【发布时间】:2017-02-07 15:14:35
【问题描述】:

我有一个 php 文件,我在其中回显 JQuery 代码,我在其中检查复选框是否被选中,如果它们被选中则做一些事情。但是如果我使用contains() 代码什么都不做。

此代码有效:

"<script type='text/javascript'> 
  $(document).ready(function(){

    $('#filterbutton').click(function() {
      if($('#znackaasus').is(':checked')) {
        console.log('checked');
      }
    });
  }); 
</script>"

但是这段代码破坏了整个 jQuery 并且什么都不做:

"<script type='text/javascript'> 
  $(document).ready(function(){

    $('#filterbutton').click(function() {
      if($('#znackaasus').is(':checked')) {
        $('.tovar:contains('ASUS')').hide();
      }
    });
  }); 
</script>"

【问题讨论】:

  • 字符串中有太多'
  • $('.tovar:contains('ASUS')') 无效,因为引号内有相同类型的引号...
  • 通常一个 JavaScript 错误就会停止所有 JavaScript 运行
  • 尝试将$('.tovar:contains('ASUS')')更改为$('.tovar').contains('ASUS')
  • 也许这会让你看到关闭PHP标签并稍后打开而不是回显的价值。

标签: javascript php jquery html echo


【解决方案1】:

试试这个:

"<script type='text/javascript'> 
$(document).ready(function(){

$('#filterbutton').click(function() {
if($('#znackaasus').is(':checked'))
    {
     $(\".tovar:contains('ASUS')\").hide();
    }
});
}); 
</script>"

不确定这是否会按预期工作,但可能会。

【讨论】:

  • 哦,这确实有效。我没有意识到我可以这样使用转义字符。谢谢大佬。
猜你喜欢
  • 2013-11-13
  • 1970-01-01
  • 1970-01-01
  • 2017-10-22
  • 1970-01-01
  • 2014-09-15
  • 2011-12-04
  • 2013-03-05
  • 1970-01-01
相关资源
最近更新 更多