在javascript中检查特定字符串?

时间:2014-01-11 20:26:01

标签: javascript jquery html css

我有一个自定义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'回复,但为什么呢?

3 个答案:

答案 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();