我使用設置跨度:測試特殊和HTML代碼
<span id=\"xxx\">▸</span>
誰能告訴我,爲什麼下面的測試不起作用:
if ($("#xxx").text() == "▸")
alert("hello");
我使用設置跨度:測試特殊和HTML代碼
<span id=\"xxx\">▸</span>
誰能告訴我,爲什麼下面的測試不起作用:
if ($("#xxx").text() == "▸")
alert("hello");
如果你不希望使用其他的答案,使直接符號條件$("#xxx").text() == "▸"
並要檢查跨度文本▸
,你可以使用.charCodeAt(0)
以獲得特殊symbole號碼,然後在你的條件添加&#
和;
:
var special_symbol_number = $("#xxx").text().charCodeAt(0);
if ("&#"+special_symbol_number+";" === "▸")
alert("hello");
或者你可以檢查只是作爲特殊的符號數:
if ($("#xxx").text().charCodeAt(0) === '9656')
alert("hello");
希望這有助於。
if ($("#xxx").text().charCodeAt(0) === '9656')
alert("hello");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="xxx">9656</span>
if($(「#xxx」)。text()。charCodeAt(0)==「9656」) –
其實是的我同意Ben I認爲代碼是不夠的 – MarMan29
好吧@ MarMan29我已經給答案添加了適當的條件..祝你好運。 –
因爲▸
實際上是這個人物▸
當你做$('#xxx').text()
你會得到▸
嘗試做這種方式:
if ($("#xxx").text() == "▸")
alert("hello");
從看着這個鏈接的其他問題。貌似你在找什麼的方法是:
if ($("#xxx").text().charCodeAt() == '9656')
alert("hello");
你如何測試▸ – MarMan29
「&#9656 ;」是適用於只有到HTML,而不是JavaScript。在HTML中,它被稱爲Entity,它被文字字符(▸)取代。但它不會在JavaScript中執行此操作。
要檢查JavaScript中的角色,只是把文字字面上:
if ($("#xxx").text() == "▸")
alert("hello");
您可以通過在瀏覽器中複製其獲得的字符(選擇▸,並創下CMD-C或CTRL-C ),然後將其粘貼到JavaScript文件中。
的HTML理由使用實體是因爲它有一些字符(比如<和>),可以被解析爲代碼的實際組成部分(嘗試在HTML編寫<文本>;它是不可見的,因爲HTML認爲你想要一個元素);即使它們看起來像代碼一樣,實體也可以直接解析這些值。這是一個工作片段,其中的JavaScript成功地檢查元素的內容:
if ($("#xxx").text() == "▸")
alert("hello");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="xxx">▸</span>
這也可能是信息:入門HTML元素的原始文本內容與HTML解釋](http://stackoverflow.com/questions/15419209/getting-raw-text-content-of-html-element-with-html-un解釋) – showdev