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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

المحدد ‎: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>

مصادر