如何在標籤存儲爲字符串時獲取標籤的文本值?JS - 標籤的文本值 - 當標籤是字符串時
var value = "<div>teeext</div>";
標籤可以是任何東西,它的屬性可能含有「>」字符串爲好,正則表達式可能是危險的 - 也文本值本身可以是另一個標籤。
如何在標籤存儲爲字符串時獲取標籤的文本值?JS - 標籤的文本值 - 當標籤是字符串時
var value = "<div>teeext</div>";
標籤可以是任何東西,它的屬性可能含有「>」字符串爲好,正則表達式可能是危險的 - 也文本值本身可以是另一個標籤。
你可以做一個虛設的元素:
var value = "<div>teeext</div>";
var div = document.createElement('div');
div.innerHTML = value;
var text = div.innerText || div.textContent;
是否可以在不操作文檔的情況下得到結果? – 2013-02-12 08:56:02
@ user1977315:您沒有操作文檔。 – Blender 2013-02-12 08:57:01
我猜你試圖剝去標籤。在這種情況下,你可以做這樣的:
originalString = "<div>teeext</div>";
var value = originalString.replace(/(<([^>]+)>)/ig,"");
測試出來。如果您需要處理任何異常情況,請在此處發表評論,我會盡力爲您提供幫助。
多標籤讀取編輯:
originalString = "<div>teeext</div>";
outputString = originalString;
while (outputString.indexOf(/(<([^>]+)>)/ig) !== -1){
outputString = outputString.replace(/(<([^>]+)>)/ig,"");
}
value = outputString;
沒有測試它,但你明白了吧;)
只需使用JavaScript的:
var div = document.createElement('div');
var value = "<div>teeext</div>";
div.innerHTML = value;
var element = div.firstChild
console.log(element.innerHTML); //this the stuff in the tag
U唱jquery:
$(value).html();
這是否有助於作爲首發?
function getText(tagString) {
var firstOpenTag = tagString.indexOf(">"),
lastCloseTag = tagString.lastIndexOf("</"),
substrLength;
if (firstOpenTag == -1 || lastCloseTag == -1) {
return tagString;
}
substrLength = (tagString.length - firstOpenTag) - (tagString.length - lastCloseTag) - 1;
return tagString.substr(firstOpenTag + 1, substrLength);
}
var value = "<div>teeext</div>";
console.log(getText(value));
var moreTags = "<div><ul><li>Text</li></ul></div>",
returnValue = moreTags,
prevReturnValue = "";
while (returnValue !== prevReturnValue) {
prevReturnValue = returnValue;
returnValue = getText(returnValue);
}
console.log(returnValue);
當你說「標記存儲爲字符串」時,你是什麼意思?另外,你有什麼嘗試? – 2013-02-12 08:46:16
整個html元素都存儲在一個變量中 - 如示例所示。 – 2013-02-12 08:46:49
請閱讀:http://whathaveyoutried.com – 2013-02-12 08:47:19