كيفية تغيير href لعنصر <a> عند الضغط على الزر باستخدام جافاسكريبت
كيفية تغيير قيمة السمة href لوسم <a/> عبر Javascript عند النقر على زر؟
<script type="text/javascript">
function f1()
{
document.getElementById("abc").href="xyz.php";
}
</script>
<a href="" id="abc">jhg</a>
<a href="" id="" onclick="f1()">jhhghj</a>
الإجابة رقم 1
بدون وجود href، سيؤدي النقر إلى إعادة تحميل الصفحة الحالية، لذلك تحتاج إلى شيء كهذا:
<a href="#" onclick="f1()">jhhghj</a>
أو منع التمرير بهذه الطريقة:
<a href="#" onclick="f1(); return false;">jhhghj</a>
أو return false في دالتك f1 و:
<a href="#" onclick="return f1();">jhhghj</a>
....أو، الطريقة غير الملحوظة:
<a href="#" id="abc">jhg</a>
<a href="#" id="myLink">jhhghj</a>
<script type="text/javascript">
document.getElementById("myLink").onclick = function() {
document.getElementById("abc").href="xyz.php";
return false;
};
</script>
الإجابة رقم 2
بالضبط ما فعله نيك كارفر هناك لكن أعتقد أنه سيكون من الأفضل إذا استخدمنا طريقة setAttribute الخاصة بـ DOM.
<script type="text/javascript">
document.getElementById("myLink").onclick = function() {
var link = document.getElementById("abc");
link.setAttribute("href", "xyz.php");
return false;
}
</script>
إنها سطر إضافي من الكود ولكن أجدها أفضل من حيث البنية.
