الفرق بين المراجعتين ل"jQuery/has selector"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط
 
سطر 14: سطر 14:
  
 
=== ملاحظات إضافية ===
 
=== ملاحظات إضافية ===
لمّا كان المحدد <code>‎:has()‎</code> هو ملحق تابع لمكتبة jQuery وليس جزءًا من مواصفة [[CSS]]، فإن الاستعلامات التي تستعمل <code>‎:has()‎</code> لا يمكنها الإستفادة من سرعة الأداء الذي يوفره تابع DOM الأصلي <code>querySelectorAll()</code>‎. للحصول أداء أفضل في المتصفحات الحديثة، استعمل <code>‎$( "your-pure-css-selector" ).has( selector/DOMElement )‎</code> بدلًا من ذلك.
+
لمّا كان المحدد <code>‎:has()‎</code> هو ملحق تابع لمكتبة jQuery وليس جزءًا من مواصفة [[CSS]]، فإن الاستعلامات التي تستعمل <code>‎:has()‎</code> لا يمكنها الإستفادة من سرعة الأداء الذي يوفره تابع DOM الأصلي [[JavaScript/Document/querySelectorAll|<code>querySelectorAll()</code>‎]]. للحصول أداء أفضل في المتصفحات الحديثة، استعمل <code>‎$( "your-pure-css-selector" ).has( selector/DOMElement )‎</code> بدلًا من ذلك.
  
 
== أمثلة ==
 
== أمثلة ==
إضافة الصنف "test" إلى كل عناصر <code>[[HTML/div|<nowiki><div></nowiki>]]</code> التي تضم عنصر <code>[[HTML/p|<nowiki><p></nowiki>]]</code> داخلها:<syntaxhighlight lang="html">
+
إضافة الصنف <code>"test"</code> إلى كل عناصر <code>[[HTML/div|<nowiki><div></nowiki>]]</code> التي تضم عنصر <code>[[HTML/p|<nowiki><p></nowiki>]]</code> داخلها:<syntaxhighlight lang="html">
 
<!doctype html>
 
<!doctype html>
 
<html lang="en">
 
<html lang="en">
سطر 42: سطر 42:
  
 
== مصادر ==
 
== مصادر ==
* [http://api.jquery.com/has-selector/ صفحة المحدد ‎.has()‎ في توثيق jQuery الرسمي.]
+
* [http://api.jquery.com/has-selector/ صفحة المحدد ‎.has()‎ في توثيق jQuery الرسمي.]
 
[[تصنيف:jQuery]]
 
[[تصنيف:jQuery]]
 
[[تصنيف:jQuery Selectors]]
 
[[تصنيف:jQuery Selectors]]

المراجعة الحالية بتاريخ 14:43، 28 مايو 2018

المحدد ‎:has()‎

الوصف

يختار هذا المحدد العناصر التي تحتوي على عنصر واحد على الأقل والذي تطابق مع المُحدِّد المُمرَّر.

jQuery( ":has(selector)" )‎

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

selector

أي نوع من محددات jQuery.

التعبير ‎$( "div:has(p)" )‎ ينتقي العنصر <div> إذا كان يضم العنصر <p> داخله سواءً كان ابنًا مباشرًا أو غير مباشر.

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

لمّا كان المحدد ‎:has()‎ هو ملحق تابع لمكتبة jQuery وليس جزءًا من مواصفة CSS، فإن الاستعلامات التي تستعمل ‎:has()‎ لا يمكنها الإستفادة من سرعة الأداء الذي يوفره تابع DOM الأصلي querySelectorAll(). للحصول أداء أفضل في المتصفحات الحديثة، استعمل ‎$( "your-pure-css-selector" ).has( selector/DOMElement )‎ بدلًا من ذلك.

أمثلة

إضافة الصنف "test" إلى كل عناصر <div> التي تضم عنصر <p> داخلها:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>has demo</title>
  <style>
  .test {
	border: 3px inset red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div><p>Hello in a paragraph</p></div>
<div>Hello again! (with no paragraph)</div>
<script>
$( "div:has(p)" ).addClass( "test" );
</script>
</body>
</html>

مصادر