我有一个自定义div更改为输入元素,此自定义div输入元素内部有一个<p>
标记,其中包含默认的占位符文本。我想检查它是不是空的,就像在普通输入元素中的必需属性中一样。
提交时,我希望JavaScript检查div元素是否具有默认占位符或新文本。
我使用了这段代码
var data =$('#divtext').html();
if(data == '<p>Default place holder</p>')
{
console.log('empty');
}
else
{
console.log('notempty');
}
然而,无论我如何提交没有文字的div,我都会收到'notempty'回复,但为什么呢?
答案 0 :(得分:3)
您的选择器不正确。
你有一个id为divtest的元素吗?如果是这样,你需要:
var data = $("#divtext").html();
答案 1 :(得分:1)
问题很简单,你的选择器是错误的。您需要通过以下方式选择课程:
var data = $('.divtext').html();
和ids via:
var data = $('#divtext').html();
此外,您应该注意通过字符串比较检查内容。通过执行以下操作来搜索关键字(例如“默认”一词)要好得多:
var $data = $('#divtext p').html(); //notice I retrieve the html contents of the contained <p>, not the parent <div>.
if ($data && $data.trim().toLowerCase().indexOf('default') === 0) {
console.log('empty');
} else {
console.log('notempty');
}
这将使你更有可能确实匹配你想要的东西。 .trim().toLowerCase()
可以防止空格和套管破坏它。
答案 2 :(得分:0)
您不包含任何选择器,
如果您的div与班级
var data = $('.divtext').html();
如果您的div为id
var data = $('#divtext').html();