<p id="list" style="white-space:nowrap;width:7.5em;border:1px solid red;overflow:hidden;text-overflow:ellipsis">محمد أحمد محمود مختار</p></div>
<div> </div>
<div><script>document.write(document.getElementById("list").firstChild.nodeValue);</script>مشكلة في الجافا سكربت مع nodeValue
أبو ذر المصري كتب:
السلام عليكم ورحمة الله وبركاتهأخي الكريمإذا كنت من محترفي الجافا سكربت فأرجو ألا تبخل ببعض وقتك في الرد على مشكلتيحيث أن لدي الكود التالي<p id="list" style="white-space:nowrap;width:7.5em;border:1px solid red;overflow:hidden;text-overflow:ellipsis">محمد أحمد محمود مختار</p></div> <div> </div> <div><script>document.write(document.getElementById("list").firstChild.nodeValue);</script>ستكون النتيجة هي ظهور العبارة الأولى محمد أحمد محمود م... وظهور العبارة الثانية محمد أحمد محمود مختارالمشكلة هي أنني أريد كود جافا سكربت يستخلص من الفقرة الأولى العبارة محمد أحمد محمود م... أو العبارة محمد أحمد محمود مبارك الله في كل من حاول مساعدتي في حل هذه المشكلة
الكود:
<html dir="rtl">
<head>
<title>Get tag value by javaScript</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
function getElemVa(elem) {
var para = document.getElementById(elem);
// var text = para.firstChild.nodeValue;
var txt = document.getElementById(elem).firstChild.nodeValue;
document.getElementById('someplace').innerHTML = txt;
}
</script>
</head>
<body style="margin: 2em;">
<button onclick="getElemVa('list');">انقرني</button>
<p id="list" style="white-space:nowrap;width:7.5em;border:1px solid red;overflow:hidden;text-overflow:ellipsis;">محمد أحمد محمود مختار</p>
<div id="someplace"> ....... </div>
<script>
</script>
</body>
</html>المخرجات:
محمد أحمد محمود مختار
جزاك الله خيرا
لكن الواضح أنني لم أستطع توصيف مشكلتي بصورة جيدة
أخي الكريم
أنا أريد من الجافا سكربت استخلاص المقطع محمد أحمد محمود م أو المقطع محمد أحمد محمود م... وليس المقطع محمد أحمد محمود مختار
وذلك لأني بعد حصولي على المقطع المطلوب سوف أرسله بالجافا سكربت إلى صفحة بي إتش بي لإجراء بعض المعالجات عليه
أبو ذر المصري كتب:جزاك الله خيرا
لكن الواضح أنني لم أستطع توصيف مشكلتي بصورة جيدة
أخي الكريم
أنا أريد من الجافا سكربت استخلاص المقطع محمد أحمد محمود م أو المقطع محمد أحمد محمود م... وليس المقطع محمد أحمد محمود مختار
وذلك لأني بعد حصولي على المقطع المطلوب سوف أرسله بالجافا سكربت إلى صفحة بي إتش بي لإجراء بعض المعالجات عليه
اري انك تسببت في توليد مشكلة ثم تحاول حلها، كيف؟
سيناريو حل1:
بدﻻ من ان ترسل للعميل النص: محمد أحمد محمود مختار أو الذي يظهر بعد تنسيقة كــ: محمد أحمد محمود م... ارسل له مباشرة الجملة اﻻخيرة (سأوفر لك حلا لكيفية ارسلة بــPHP ﻻحقا) ومن ثم فأن استخلاص النص بالطريقة التي بمشاركتي السابقة تعمل بشكل ممتاز.
أنت تستخدم خواص لغة CSS لإخفاء جزء من النص , لهذا سيصعب تحديد الجزء الظاهر من الجزء المخفي لذا يفضل إرسال النص كامل للغة PHP ومعالجته على الخادم كما أشار الزميل محمد أو إستخدام لغة javaScript لإقتطاع جزء من النص الأصلي وإخفاء الباقي وإظهار هذا على المتصفح و إرساله للمعالجة .
كود الإخفاء سيكون على النحو التالي:
<p id="list">محمد أحمد محمود مختار</p>
<script>
var newText = document.getElementById("list").textContent;
newText = newText.substr(0,17)+' ...';
document.getElementById("list").textContent = newText;
</script>لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق
لا إله إلا أنت سبحانك إني كنت من الظالمين
ahmedsaoud31 كتب:
أنت تستخدم خواص لغة CSS لإخفاء جزء من النص , لهذا سيصعب تحديد الجزء الظاهر من الجزء المخفي لذا يفضل إرسال النص كامل للغة PHP ومعالجته على الخادم كما أشار الزميل محمد أو إستخدام لغة javaScript لإقتطاع جزء من النص الأصلي وإخفاء الباقي وإظهار هذا على المتصفح و إرساله للمعالجة .
كود الإخفاء سيكون على النحو التالي:
<p id="list">محمد أحمد محمود مختار</p> <script> var newText = document.getElementById("list").textContent; newText = newText.substr(0,17)+' ...'; document.getElementById("list").textContent = newText; </script>جزاك اله خيرا أخي الكريم
لكني أريد اقتطاع ما عرضه داخل المتصفح 7.5em علما بأن النص سيكون متغيرا وليس نص ثابت
اقتطاع النص يختلف من حين لاخر حسب طول الجمله المكتوبه يعني على هوا طلبك اظن ان هاذا الكود يكفى ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Tect code</title>
<script type="text/javascript">
function get_txt()
{
var str = "محمد احمد محمود مختار";
document.getElementById("res").innerHTML = str.substr(0,17);
}
</script>
</head>
<body onload="get_txt()">
<b id="res"></b>
</body>
</html>لا اله الا الله محمد رسول الله

