myTags.html
<div id="ControlWrapper">
<p></p>
<p><br></p>
<p></p>
</div>
myScripts.js
var a = $("#ControlWrapper").text();
if (a == ""){do something;}else {do something else;}
<div id="ctl00_PlaceHolderMain_txtContent__ControlWrapper_RichHtmlField" class="ms-rtestate-field" style="display: block;" aria-labelledby="ctl00_PlaceHolderMain_txtContent_label">
<p></p>
<p><br></p>
<p></p>
</div>
嗨,我的html和javascrpt文件中有上面的代码。
我想从一个元素中获取文本并将其保存在一个变量中,如果它是空的,那么它应该在条件语句中返回false,但不幸的是,它不起作用。
当一个元素中没有文本时,我需要对文本进行压缩。
您可以尝试if (!a) {...}
当a
为undefined
、null
或为空时,!a
给出true
。
如果您在浏览器中,可以使用console.log('[',a,']');
查看a
的值。
$(document).ready(function(){
var a = $("#ControlWrapper").text();
console.log(a);
if (!a) {
console.log("true value")
} else {
console.log("false value")
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="ControlWrapper">
<p></p>
<p><br></p>
<p></p>
</div>
该代码准确地注销";"假值";因为在HTML节点子元素内不包括文本。
在我看来,我们可以使用trim()
(删除空格)方法来指定如下的javascript条件语句:
myScripts.js和myDocument.html
function getText() {
var text = $('.element').text();
if (text && text.trim() !== '') {
console.log(text);
} else {
alert("Empty");
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
</style>
</head>
<body>
<div class="element" class="element">
</div>
<button onClick="getText()">
Show Text
</button>
</body>
</html>