当txt文件为空时显示消息

时间:2015-04-13 14:39:41

标签: javascript php html

我不能让这个工作,我做错了什么? 我试图删除PHP,但也没有触发JS。

<html>
    <head>
        <title>Flahultsskolan Fr&aring;nvarande Ram</title>
        <script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
        <script>
          $(document).ready(function isEmpty(){
                 if( $('#content').is(':empty') ) {
                    $('.content').prepend("Hej");
                 }
          });
        </script>
    </head>
    <body style="font-family:helvetica;font-size:14px;height:auto;">
        <div id="content" class="content" style="margin:0;padding:0;">
            <?php include("edit/franvarande.txt"); ?>
        </div>
    </body>
    </html>

3 个答案:

答案 0 :(得分:2)

这样会更简单:

$('#content:empty').text('Hej');

不需要进行其他测试,#content:empty提供测试。

但是,最初的问题是div块包含空格,应该在一行内完成。

<div id="content" class="content" style="margin:0;padding:0;"><?php include("edit/franvarande.txt"); ?></div>

执行此操作有效,以防您以后再尝试:

<div id="content" class="content" style="margin:0;padding:0;">
<?php include("edit/franvarande.txt"); ?>
</div>
  • (隐藏)回车计数作为数据,将被视为非空,反过来又失败。

答案 1 :(得分:1)

div中有空格,当文本文件为空时也存在空格。相反,做:

<div id="content" class="content" style="margin:0;padding:0;"><?php include("edit/franvarande.txt"); ?></div>

但是,对于PHP文件,include() 意味着。如果您的文件只是文字&#39;,您可以使用file_get_contents(),以便该文件不会通过PHP,而是:

<div id="content" class="content" style="margin:0;padding:0;"><?php echo file_get_contents("edit/franvarande.txt"); ?></div>

为了便于阅读,您可以将其拆分为三行:

<div id="content" class="content" style="margin:0;padding:0;"><?php 
    echo file_get_contents("edit/franvarande.txt"); 
?></div>

看看这个片段。右上方的表格单元格为“空白”,但是有空格,因此没有选择:empty

$( "td:empty" )
  .text( "Was empty!" )
  .css( "background", "rgb(255,220,200)" );


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<table border="1">
  <tr><td>TD #0</td><td>  </td></tr>
  <tr><td>TD #2</td><td></td></tr>
  <tr><td></td><td>TD#5</td></tr>
</table>

答案 2 :(得分:0)

如果php包含返回一个空字符串``,您的代码结构.content不是:empty

里面有一些空格。

要防止出现此问题,您可以编辑include @Keelan建议,或者使用这样的脚本:

if($('#content').text().trim().length < 1) {
    $('#content').prepend("Hej");
}

.trim()按空格清除从.text()返回的字符串。