ورود

View Full Version : بدست آوردن متن بدون فرمت درون یک دیو



ASedJavad
یک شنبه 19 آذر 1391, 00:21 صبح
سلام
متن درون یک دیو رو با innerHTML بدست اوردم
حالا میخوام فقط متن خالص رو بدون هیچ فرمت و تگ درونی ای (مثل تگ a, b, u, i ,br, p,span و ...) بدست بیارم.
راه ساده ای برا این کار هست یا باید بشینم دونه دونه تگ هارو پیدا کنم و حذفشون کنم؟

Beginner2013
یک شنبه 19 آذر 1391, 00:28 صبح
سلام
متن درون یک دیو رو با innerHTML بدست اوردم
حالا میخوام فقط متن خالص رو بدون هیچ فرمت و تگ درونی ای (مثل تگ a, b, u, i ,br, p,span و ...) بدست بیارم.
راه ساده ای برا این کار هست یا باید بشینم دونه دونه تگ هارو پیدا کنم و حذفشون کنم؟

سلام ؛
از خاصیت innerText برای IE و textContent برای FF استفاده کنید.

hakan648
یک شنبه 19 آذر 1391, 22:53 عصر
سلام

پاسخ فوق صحیح هست ، اما اگر به دنبال بهترین تابع برای این کار هستید ، jQuery قبلا تابع text (http://james.padolsey.com/jquery/#v=1.7.2&fn=jQuery.text) رو برای این کار نوشته :

function (elem) {
var i, node, nodeType = elem.nodeType,
ret = "";
if (nodeType) {
if (nodeType === 1 || nodeType === 9 || nodeType === 11) {
if (typeof elem.textContent === "string") {
return elem.textContent;
} else if (typeof elem.innerText === "string") {
return elem.innerText.replace(rReturn, "");
} else {
for (elem = elem.firstChild; elem; elem = elem.nextSibling) {
ret += getText(elem);
}
}
} else if (nodeType === 3 || nodeType === 4) {
return elem.nodeValue;
}
} else {
for (i = 0; node = elem[i]; i++) {
if (node.nodeType !== 8) {
ret += getText(node);
}
}
}
return ret;
}

برای استفاده از این تابع در خارج از jQuery میتونید یک اسم به تابع فوق بدید و براحتی المنت رو بهش پاس بدید و متن خالی رو دریافت کنید.