[英]How to unhide an html tag
我正在嘗試檢查#textd
的內容#textd
為空,並且包含超過150個字符。 如果是這樣,我將其內容發送到另一個網頁,如果不是,則顯示相對於上下文的錯誤消息。 我正在使用以下代碼進行此操作:
HTML代碼:
<a href="#" id="r"><span>AFD</span></a>
<div class="ooo" hidden>
<h4 id="titled">FOPJG?</h4>
</div>
<div>
<p id="textd"></p>
</div>
<button id="submitd">Submit</button>
</div>
Javascript / jQuery代碼:
$("#r").click(function () {
$(".ooo").prop("hidden", false);
});
$("#submitd").click(function () {
if (!$("#textd").empty() && $("#textd").length() < 150) {
var str = $("#textd").text();
window.location.replace("foo?d="+str);
} else {
if (!$("#textd").empty() && $("#textd").length() > 150) {
$("#titled").html("FOPJG?<small style='color:red;'>not under 150 chars.</small>");
} else {
$("#titled").html("FOPJG?<small style='color:red;'>ABVQS.</small>");
}
}
});
這里的問題是,當我單擊該提交按鈕時,不會顯示.ooo
。 我還有另一個問題,相對於上述算法的說明,此實現是否可以正常工作?
幾件事情:
style="display:none;"
而不是hidden
屬性。 這只是更標准的。 此外,對於所有樣式,都應該使用外部樣式表,但這是另一回事。 .empty()
刪除了元素中的所有內容-它不會以您期望的方式返回true / false。 請改用.text().length
。 return false;
(或e.preventDefault();
),因此鏈接不會出現在任何地方。 因此,這里是:
的HTML
<a href="#" id="r"><span>AFD</span></a>
<div class="ooo" style="display:none;">
<h4 id="titled">FOPJG?</h4>
</div>
<div>
<p id="textd">[ ... ]</p>
</div>
<button id="submitd">Submit</button>
jQuery的
$("#r").click(function () {
$(".ooo").show();
return false;
});
$("#submitd").click(function () {
if ($("#textd").text().length == 0) {
$("#titled").html("FOPJG?<small style='color:red;'> It's Empty</small>");
} else if ($("#textd").text().length < 150) {
$("#titled").html("FOPJG?<small style='color:red;'> Length is under 150 chars.</small>");
} else if ($("#textd").text().length) {
$("#titled").html("FOPJG?<small style='color:red;'> Length is over or exactly 150 chars.</small>");
}
return false;
});
您應該使用visibility: hidden
而不是html hidden標簽,以便可以在js中輕松更改其屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.