جایگزین کردن عناصر DOM در جی کوئری

Ratings
(0)

مسئله

ما نیاز داریم تا یک عنصر DOM را جایگزین تعدادی عنصر DOM دیگر کنیم. راه حل چیست؟


راه حل

با استفاده از متد replaceWith() ما می توانیم یک مجموعه از عناصر DOM را انتخاب(select) کنیم تا چیز دیگری را جایگزین آنها کنیم. در مثال زیر، ما از متد replaceWith() استفاده می کنیم تا تمام عناصر <li> را که کلاس CSS آنها remove است را با یک عنصر دیگر DOM جایگزین کنیم.

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
 <ul>
 <li class='remove'>name</li>
 <li>name</li>
 <li class='remove'>name</li>
 <li class='remove'>name</li>
 <li>name</li>
 <li class='remove'>name</li>
 <li>name</li>
 <li class='remove'>name</li>
</ul>
<script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/JavaScript">
 jQuery('li.remove').replaceWith('<li>removed</li>');
</script>
</body>
</html>

 کدهای جدید DOM که به کدها اضافه می شود، یک پارامتر رشته ای است که به متد replaceWith() پاس داده شده است. در مثال بالا، تمام عناصر <li> با عبارت <li>removed</li> جایگزین می شوند.

 


توضیحات اضافه

جی کوئری، یک متد،  که معکوس متد بالا است،  به نام replaceAll() به ما ارائه می دهد که همان کار را انجام می دهد اما جای پارامترهای آن عوض شده است. بعنوان مثال، ما می توانیم کدهای جی کوئری  بالا را به صورت زیر بنویسیم:

jQuery('<li>removed</li>').replaceAll('li.remove');

 در اینجا ما به تابع jQuery یک رشته ی HTML را با استفاده از متدreplaceAll() پاس می دهیم و سپس از متد replaceAll() استفاده می کنیم و کد DOM و فرزندان آن را که می خواهیم حذف و جایگزین شوند، انتخاب می کنیم.

{module کمک نقدی به نویسنده}

  • بازدید: 564

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال