Javascript 当txt文件为空时显示消息
我不能让它工作,我做错了什么? 我试图删除PHP,但也没有触发JSJavascript 当txt文件为空时显示消息,javascript,php,html,Javascript,Php,Html,我不能让它工作,我做错了什么? 我试图删除PHP,但也没有触发JS <html> <head> <title>Flahultsskolan Frånvarande Ram</title> <script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script>
<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>
Flahultsskolan Frå;恩瓦兰德拉姆
$(文档).ready(函数isEmpty(){
如果($('#content')。为(':empty')){
$('.content').prepend(“Hej”);
}
});
您的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
echo file_get_contents("edit/franvarande.txt");
?></div>
这样更简单:
$('#content:empty').text('Hej');
if($('#content').text().trim().length < 1) {
$('#content').prepend("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>
- (隐藏)回车计数为数据,并将被视为非空,从而失败
- 如果
php
包含返回一个空字符串``与您的代码结构一起,.content
不是: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>
里面有一些空白
为防止出现此问题,您可以编辑include@Keelan建议或使用以下脚本:
$('#content:empty').text('Hej');
if($('#content').text().trim().length < 1) {
$('#content').prepend("Hej");
}
if($('#content').text().trim().length<1){
$(#content')。前缀(“Hej”);
}
.trim()
用空格清除从.text()
返回的字符串,因此。。。它是做什么的,它打算做什么?这个文件是一个.php
扩展名?我不得不问。你为什么要把文本文件包括进去?include()需要一个PHP文件,请尝试@Jackhardcastle。您可以包括(几乎)任何文件类型,只要服务器支持它。10次中有9次是这样。我可以包含.txt.shtml等。我一直都在这样做。@Fred ii-,我的错,但是include函数调用的任何东西仍然会被PHP解释器解析,所以最好避免不必要的处理。这是一个注释而不是答案。这并不能解决他的问题:他的代码应该可以很好地工作(即使它可以更小)。正如卡米尔所说,这也不行。不过还是要谢谢你的帮助!这是空格@9focuspoints。我很快就会有更新。加上Camils的评论,这显然是最好的解决方案@CamilStaps“这并不能解决他的问题:他的代码应该可以很好地工作(即使它可能更小)。”-这告诉我“他的代码应该可以很好地工作”。这应该用“他的代码应该按照我在回答中概述的方式工作,因为OP代码中有空格”。让我们在这里点i和t。非常感谢!它就像一个符咒!我在更多的地方使用php include标记来包含txt文件,我是否也应该更改它们?“但是,include()是针对php文件的(它可能会工作,但文件将通过php解析器,这是不必要的)”-我不同意,手册中关于专门使用.php
的内容在哪里?自己阅读手册-您对自己的评论存在误解。查看该页面上的示例#3通过HTTP包含,并查看所有//作品
。我对许多不同的文件扩展名使用include()
。@Fred手册不断地讨论要包含的代码,因此我认为它主要是针对PHP的。我不明白ex.3和它有什么关系。但是,是的,像这样的事情在大多数情况下都会起作用,如果不总是的话。这一切都与它有关。OP可以使用.txt
.html
等。我一直都在使用它。对不起,我不完全同意那种说法。@Fred是的,你可以。我想说的是,include
是指那些需要执行的情况。否则,file\u get\u contents
会更好。但是您确实可以包含一个TXT。