المحدد ‎‎‎:text‎ في jQuery

من موسوعة حسوب
مراجعة 17:31، 13 يونيو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

المحدد ‎:text

الوصف

يحدِّد جميع عناصر الإدخال <input> ذات النوع text.

‎jQuery( ":text" )‎

أُضيف مع الإصدار: 1.0.

يسمح لنا المحدِّد ‎$( ":text" )‎ بتحديد جميع عناصر <input type="text"‎>. يفضَّل أن يُسبق هذا المحدِّد، كما في محدِّدات الصنف الزائف (pseudo-class selectors) التي تبدأ بنقطتين ":"، باسم وسمٍ (tag) أو محدِّد آخر وإلا سيُسبق بالمحدِّد العام "*" بشكل ضمني. بعبارة أخرى، استعمال المحدِّد بالشكل ‎$( ":text" )‎ يكافئ تمامًا ‎$( "*:text" )‎، لذا يجب استعمال ‎$( "input:text" )‎ مثلًا عوضًا عن ذلك.

ملاحظة: بدءًا من الإصدار jQuery 1.5.2، يحدِّد المحدِّد ‎:text العناصر <input> التي لم تعيَّن قيمة الخاصِّيَّة type فيها صراحةً ولكن ستُضبَط القيمة type="text"‎ فيها ضمنيًا.

يظهر الفارق بين سلوك المحدِّد بالشكل ‎$( ":text" )‎ والشكل ‎$( "[type=text]" )‎ جليًّا في المثال التالي:

$( "<input>" ).is( "[type=text]" ); // false
$( "<input>" ).is( ":text" ); // true

ملاحظات إضافية

لمَّا كان المحدِّد ‎:text هو ملحق في مكتبة jQuery  وليس جزءًا من مواصفة CSS، فإنَّ الاستعلامات التي تستعمل ‎:text لا يمكنها الاستفادة من سرعة الأداء الذي يوفره تابع DOM الأصلي querySelectorAll()‎. للحصول على أداء أفضل في المتصفحات الحديثة، استعمل [type="text"‎].

أمثلة

إيجاد جميع العناصر <input> التي من النوع text:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>text مثالٌ عن استعمال التابع</title>
  <style>
  textarea {
    height: 25px;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<form>
  <input type="button" value="Input Button">
  <input type="checkbox">
  <input type="file">
  <input type="hidden">
  <input type="image">
  <input type="password">
  <input type="radio">
  <input type="reset">
  <input type="submit">
  <input type="text">
  <select>
    <option>خيار</option>
  </select>
  <textarea></textarea>
  <button>زر</button>
</form>
<div></div>
 
<script>
var input = $( "form input:text" ).css({
  background: "yellow",
  border: "3px red solid"
});
 
$( "div" )
  .text( "عدد العناصر التي عثر عليها من هذا النوع هي " + input.length + "." )
  .css( "color", "red" );
 
// منع إرسال النموذج
$( "form" ).submit(function( event ) {
  event.preventDefault();
});
</script>
 
</body>
</html>

مصادر