【问题标题】:String comparison not working in Chrome字符串比较在 Chrome 中不起作用
【发布时间】:2012-03-26 06:48:14
【问题描述】:

这似乎很奇怪,但它确实发生了。 我有这段代码在 IE8 和 FF 中工作,但我很震惊它在谷歌浏览器中没有真正工作

/*btnPost*/
$("input#btnPost").click(function(){
    //check if the textbox contains anything...
    var txtPostdata = $.trim($("div#txtPost").html());
    if(txtPostdata.length <= 0){
        d = createDialog("confirmation","are you sure to post a blank post?",{"modal":true});
        d.dialog("open");
    }
});   

在那里不起作用的是chrome无法知道 txtPostdata 变量的长度。 txtPostdata 保存在 CONTENTEDITABLE DIV 中抓取的 html。 我试图在 if 语句中取出 TODO,它工作正常。我也试过这样做

/*btnPost*/
$("input#btnPost").click(function(){
    //check if the textbox contains anything...
    var txtPostdata = $.trim($("div#txtPost").html());
    if(txtPostdata == ""){
        d = createDialog("confirmation","are you sure to post a blank post?",{"modal":true});
        d.dialog("open");
    }
});

但仍然无法正常工作...有什么办法可以在 chrome 中解决这个问题?我的 chrome 版本是 17.0。

请试一试 here

【问题讨论】:

  • 在 Safari 和 Opera 中也测试过...不工作
  • 试试 .innerHTML 或 .innerText。要查看一般可用的内容,请右键单击您感兴趣的页面部分,然后选择“检查元素”。应该会出现开发人员工具面板,右侧有一堆框。打开“属性”并选择第一个“HTML [标签]元素”。它将向您展示您突出显示的 DOM 对象的可访问属性中的内容。
  • 这一定是您的可编辑 div 有问题,$.trim($("div#txtPost").html()).length 的工作方式与它应该的一样:jsfiddle.net/kt4aw
  • 问题是:你如何尝试清空 div?我尝试使用 DEL 和 Backspace,但我总是在 div 中至少有一个 &lt;br&gt;。只有当我打电话给$('#txtPost').html("") 时它是空的,if(txtPostdata.length &lt;= 0) 在 Chrome 中工作得很好jsbin.com/asihom/2
  • 我认为 jquery 的 .html() 已经使用了浏览器的 .innerHTML,正如 jquery 文档在这里 api.jquery.com/html 所说的那样,我不知道 .innerText ...你能进一步解释一下吗?谢谢你的回答

标签: javascript jquery google-chrome safari opera


【解决方案1】:

当我使用 .text() 而不是 .html() 时,它工作正常。

var txtPostdata = $.trim($("#txtPost").text());

【讨论】:

    【解决方案2】:
    if(txtPostdata==undefined){
            d = createDialog("confirmation","are you sure to post a blank post?",{"modal":true});
            d.dialog("open");
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-20
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 2012-01-22
      • 2017-12-07
      相关资源
      最近更新 更多