Javascript is:为空不适用于动态创建的内容
我有一个默认为空的divJavascript is:为空不适用于动态创建的内容,javascript,jquery,Javascript,Jquery,我有一个默认为空的divlistOfTodos。html中没有空格。我还有一个文本框,当按下enter键时,它会将文本附加到listOfTodos。出于某种原因,is:empty不起作用,它总是说它是空的 我的检查代码是: if ($('#listOfTodos').is(':empty')) { console.log("empty"); } else { console.log("not empty"); } 在这段代码上面,我还有: $("#someTextbox").k
listOfTodos
。html中没有空格。我还有一个文本框,当按下enter键时,它会将文本附加到listOfTodos
。出于某种原因,is:empty
不起作用,它总是说它是空的
我的检查代码是:
if ($('#listOfTodos').is(':empty')) {
console.log("empty");
} else {
console.log("not empty");
}
在这段代码上面,我还有:
$("#someTextbox").keypress(function(e) {
if (e.keyCode == 13) {
$('#listOfTodos').append('<label>Some text</label>'); }
});
$(“#someTextbox”)。按键(功能(e){
如果(e.keyCode==13){
$('listOfTodos').append('Some text');}
});
上面的标签将保存并在每次重新加载时检索。发生什么事了 使用
if ($.trim($('#listOfTodos').text()) == '') {
alert("empty");
} else {
alert("not empty");
}
JS不是自上而下运行代码吗?我在js文件中的if语句上方有一个按键
是的,但事件处理程序在触发事件之前不会执行,而在整个脚本执行之后才可能执行
即
或者,如果要在多个位置运行该逻辑,请将其放入函数中:
function isEmpty() {
if ($('#listOfTodos').is(':empty')) {
console.log("empty");
} else {
console.log("not empty");
}
}
// run on load
isEmpty();
$("#someTextbox").keypress(function(e) {
if (e.keyCode == 13) {
$('#listOfTodos').append('<label>Some text</label>');
// run on change
isEmpty();
}
});
函数为空(){
if($('#listOfTodos')。为(':empty')){
控制台日志(“空”);
}否则{
控制台日志(“非空”);
}
}
//负载运行
isEmpty();
$(“#someTextbox”)。按键(功能(e){
如果(e.keyCode==13){
$('listOfTodos').append('sometext');
//找零
isEmpty();
}
});
请提供完整的示例。不清楚什么时候执行if
语句。给jsfiddle,它的free你可以在de DIV中获取HTML并检查它的长度helo,fiddle工作正常。你的html出现了一些问题。请检查此项,它可能会有所帮助。答案有一种方法可以确保你所认为的是空的:他们为什么要这样做?“<代码>:空< /代码>有什么问题?奇怪的是,我在<代码>的第一行中得到了一个错误:Uncaught TypeError:未定义不是函数< /代码> @ FelixCink,如果有空白,<代码>:空仍然会考虑一些数据,因此它考虑了空白。因此,使用trim是非常重要的proper@jQuery.PHP.Magento.com:引用OP“html中没有空白。”@jQuery.PHP.Magento.com也不起作用。仍然显示empty
,尽管它不正确,但我希望在访问页面时运行if语句
,因为我保存了一些信息,并且它当前附加到列表todos
div。因此,如果没有保存任何内容,然后,listOfTodos
应该是空的,if语句
应该检查以确保并发送某种消息…@Jamie:然后将该逻辑放入函数中,并在内容可能发生更改时调用该函数。这就是函数的用途。
$("#someTextbox").keypress(function(e) {
if (e.keyCode == 13) {
$('#listOfTodos').append('<label>Some text</label>');
if ($('#listOfTodos').is(':empty')) {
console.log("empty");
} else {
console.log("not empty");
}
}
});
function isEmpty() {
if ($('#listOfTodos').is(':empty')) {
console.log("empty");
} else {
console.log("not empty");
}
}
// run on load
isEmpty();
$("#someTextbox").keypress(function(e) {
if (e.keyCode == 13) {
$('#listOfTodos').append('<label>Some text</label>');
// run on change
isEmpty();
}
});