我不能让这个工作,我做错了什么? 我试图删除PHP,但也没有触发JS。
<html>
<head>
<title>Flahultsskolan Frå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>
答案 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()
返回的字符串。