这是解决我的问题的代码:
var field1 = $("div[id='Owner_fdcd6919-2ee0-4200-90b4-32f6cd3d757e_$TextField_inplacerte']");
console.log(field1[0].innerText);
if(field1[0].innerText.length < 1){
alert('Please fill out Column B');
field1.attr("style", "border: solid 1px #ff4c42 !important");
return false;
}
奇怪的是,console.log(field1[0].innerText);
的输出始终是正确的,但是当我尝试在if语句中验证innerText时,每次都将导致false(我看不到警报)。
我也尝试了不同类型的字符串验证(例如if (!field1[0].innerText.toString())
),但没有任何效果。
感谢所有帮助。
编辑:即使没有任何输出到控制台,似乎也有一些HTML格式化为字符串。
正在<p></p>
之间提取文本。我花了3个小时尝试各种可能的方法来使字符串为空,我已经完成了。碰到同样问题的人,祝你好运...
<p>
<span id="ms-rterangepaste-start" aria-hidden="true"></span>
<span id="ms-rterangecursor-start" aria-hidden="true"></span>
<span id="ms-rterangecursor-end" aria-hidden="true"></span>
</p>
答案 0 :(得分:0)
正如我在编辑中提到的那样,事实证明JavaScript中包含了一些奇怪的span元素。我最终的解决方案是将字段从RichText更改为PlainText。