如果声明没有触发警报框

时间:2011-11-28 21:39:54

标签: javascript jquery

我正在尝试创建一个if语句,如果div中有文本,则触发警告框。

我的Jsfiddle:http://jsfiddle.net/D7cPT/21/

我的HTML:

<div id="post-preview">aasasdasd</div>

MY JQUERY:

$(document).ready(function() {
    // Bind it to some action.
    if{$('#post_body_html').html();) {
       alert('asdasda');
      }
});

4 个答案:

答案 0 :(得分:13)

OH亲爱的神:

//why is there a bracket after the if and a semicolon in there?
if{$('#post_body_html').html();) { 

怎么样:

//change if{ to if( and remove semicolon
if($('#post_body_html').html()) {

此外,您的选择器与您元素的ID不匹配。将#post_body_html更改为#post-preview

jsFiddle

修改

对于那些以后登陆的人来说,写一个更好的方法来完成相同的测试:

if($('#post_body_html')[0].childNodes.length) {

代替。

答案 1 :(得分:3)

试试这个 - &gt;

$(document).ready(function() {
    // Bind it to some action.
    if($('#post-preview').html()) { // wrong ID and wrong syntax
       alert('asdasda');
     }
});

工作演示:http://jsfiddle.net/manseuk/D7cPT/25/

答案 2 :(得分:0)

你有很多问题:

  1. 应该是预览后,而不是#post_body_html
  2. 你有{而不是if(
  3. 你用分号结束你的if语句?咦?
  4. html()没有返回bool,它返回一个字符串。
  5. 试试这个:

    $(document).ready(function() {
        // Bind it to some action.
        if ($('#post-preview').html().length > 0) {
           alert('asdasda');
          }
    });
    

答案 3 :(得分:-3)

您应该删除;

$(document).ready(function() {
    // Bind it to some action.
    if{$('#post_body_html').html()) { //line changed
       alert('asdasda');
      }
});