Home >Web Front-end >JS Tutorial >Wildcard characters [id^='code'] or [name^='code'] in jQuery's selector and jquery selector summary_jquery

Wildcard characters [id^='code'] or [name^='code'] in jQuery's selector and jquery selector summary_jquery

WBOY
WBOYOriginal
2016-05-16 15:23:491402browse

この 2 日間、特別なトピックを実行中にワイルドカードの問題が発生しました

//弹层操作
$(function(){
 //视频播放
 $("a[href^='#video']").each(function(index, element) {
 $(this).click(function(){
 $(".popDiv,#videoBox1").show();
 });
 });
 //图片
 $(".imgs a:not([href^='#video'])").each(function(){
 $(this).children("img").click(function(){
 var src=$(this).attr("attr");
 //alert(src);
 $("#picBox img").attr("src","images/" + src);
 $(".popDiv,#picBox").show();
 $("#picBox img").animate({opacity:'1'},500)
 });
 });
 $(".close").click(function(){
 $(".popDiv,.popBox").hide();
 $(".box").css("margin","0 0 0 100%");
 $("#picBox img").css({opacity:'0'},1000)
 });
 })

問題は解決しました!このような問題がある場合は、以下の詳細な使用方法を参照してください:

1. セレクター

(1) ワイルドカード:

$("input[id^='code']");//id属性以code开始的所有input标签
$("input[id$='code']");//id属性以code结束的所有input标签
$("input[id*='code']");//id属性包含code的所有input标签
$("input[name^='code']");//name属性以code开始的所有input标签
$("input[name$='code']");//name属性以code结束的所有input标签
$("input[name*='code']");//name属性包含code的所有input标签
$("input[name*='code']").each(fuction(){
  var sum=0;
if($(this).val()!=""){
 sum=parseInt(sum)+parseInt($(this).val());
}
$("#").text(sum);
})

(2) インデックスに従って

を選択します

$("tbody tr:even"); //偶数のインデックスを持つすべての tr タグを選択します
$("tbody tr:odd"); //奇数のインデックスを持つすべての tr タグを選択します

(3) jqueryObj

の次段ノードの入力数を取得します。
jqueryObj.children("input").length;

(4) クラス main

のラベルの子ノード配下のすべてのラベルを取得します
$(".main > a");

(5)

の横のラベルを選択します
jqueryObj.next("div");//获取jqueryObj标签的后面紧邻的一个div,nextAll获取所有

2. フィルター

//not
$("#code input:not([id^='code'])");//id为code标签内不包含id以code开始的所有input标签

3. イベント

//处理文本框上的键盘操作
jqueryObj.keyup(function(event){
var keyCode = event.which;//获取当前按下键盘的键值,回车键为13
}

4. ユーティリティ機能

$('#someField').val($.trim($('#someField').val()));//消除空格,语法:$.trim(value)

ps: jQuery セレクターの概要

jQuery のセレクターは非常に強力です。一般的に使用される要素検索メソッドを簡単にまとめます。

$("#myELement") ID 値が myElement と等しい要素を選択します。ID 値は繰り返すことができないため、要素
のみを取得します。

$("div") すべての div タグ要素を選択し、div 要素の配列を返します

$(".myClass") myClass クラスの CSS を使用してすべての要素を選択します

$("*") ドキュメント内のすべての要素を選択します。 結合選択にはさまざまな選択方法を使用できます。たとえば、$("#myELement,div,.myclass")

です。

カスケードセレクター:

$("form input") フォーム要素内のすべての入力要素を選択します
$("#main > *") main
の ID 値を持つすべての子要素を選択します $("label + input") すべてのラベル要素の次の入力要素ノードを選択します。テスト後、セレクターは入力ラベル
が直接続くすべての入力ラベル要素を返します。 $("#prev ~ div") 兄弟セレクター。このセレクターは、ID prev のタグ要素の同じ親要素

に属するすべての div タグを返します。

基本フィルターセレクター:

$("tr:first") すべての tr 要素の最初の要素を選択します
$("tr:last") すべての tr 要素の最後の
を選択します $("input:not(:checked) + スパン")

フィルターアウト: チェックされたセレクターのすべての入力要素

$("tr:even") すべてのtr要素の0番目、2番目、4番目…の要素を選択します(注:選択された複数の要素は配列のため、シーケンス番号は0から始まります)
$("tr:odd") すべてのtr要素の1番目、3番目、5番目…の要素を選択します
$("td:eq(2)") すべての td 要素のうち、シリアル番号 2 の td 要素を選択します
$("td:gt(4)") td 要素内のシーケンス番号が 4 より大きいすべての td 要素を選択します
$("td:ll(4)") td 要素内のシーケンス番号が 4 未満のすべての td 要素を選択します
$(":header")
$("div:アニメーション")

コンテンツフィルターセレクター:

$("div:contains('John')") は、div 内の John テキストを含むすべての要素を選択します
$("td:empty") 空のすべての td 要素の配列を選択します (テキスト ノードは含まれません)
$("div:has(p)") p タグを含むすべての div 要素を選択します
$("td:parent") td を親ノードとするすべての要素配列を選択します

ビジュアルフィルターセレクター:

$("div:hidden") 非表示の div 要素をすべて選択します
$("div:visible") 表示されているすべての div 要素を選択します

属性フィルターセレクター:

$("div[id]") id 属性を含むすべての div 要素を選択します
$("input[name='newsletter']") name 属性が 'newsletter' と等しいすべての入力要素を選択します
$("input[name!='newsletter']") は、name 属性が 'newsletter' と等しくないすべての入力要素を選択します
$("input[name^='news']") name 属性が 'news' で始まるすべての入力要素を選択します
$("input[name$='news']") name 属性が 'news' で終わるすべての入力要素を選択します
$("input[name*='man']") name 属性に 'news' が含まれる入力要素をすべて選択します
$("input[id][name$='man']") このセレクターは、id 属性を含み、属性が man

で終わるすべての要素を取得します。

子要素フィルターセレクター:

$("ul li:nth-child(2)"),$("ul li:nth-child(odd)"),$("ul li:nth-child(3n + 1)") 
  $("div span:first-child")          返回所有的div元素的第一个子节点的数组
$("div span:last-child")           返回所有的div元素的最后一个节点的数组
$("div button:only-child")       返回所有的div中只有唯一一个子节点的所有子节点的数组

表单元素选择器: 

$(":input")                  选择所有的表单输入元素,包括input, textarea, select 和 button 

$(":text")                     选择所有的text input元素
$(":password")           选择所有的password input元素
$(":radio")                   选择所有的radio input元素
$(":checkbox")            选择所有的checkbox input元素
$(":submit")               选择所有的submit input元素
$(":image")                 选择所有的image input元素
$(":reset")                   选择所有的reset input元素
$(":button")                选择所有的button input元素
$(":file")                     选择所有的file input元素
$(":hidden")               选择所有类型为hidden的input元素或表单的隐藏域

表单元素过滤选择器: 

$(":enabled")             选择所有的可操作的表单元素
$(":disabled")            选择所有的不可操作的表单元素
$(":checked")            选择所有的被checked的表单元素
$("select option:selected") 选择所有的select 的子元素中被selected的元素

选取一个 name 为”S_03_22″的input text框的上一个td的text值

$(”input[@ name =S_03_22]“).parent().prev().text() 

名字以”S_”开始,并且不是以”_R”结尾的

$(”input[@ name ^='S_']“).not(”[@ name $='_R']“) 

一个名为 radio_01的radio所选的值

$(”input[@ name =radio_01][@checked]“).val(); 

$("A B") 查找A元素下面的所有子节点,包括非直接子节点
$("A>B") 查找A元素下面的直接子节点
$("A+B") 查找A元素后面的兄弟节点,包括非直接子节点
$("A~B") 查找A元素后面的兄弟节点,不包括非直接子节点

1. $("A B") 查找A元素下面的所有子节点,包括非直接子节点

例子:找到表单中所有的 input 元素

HTML 代码: 

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
   <label>Newsletter:</label>
   <input name="newsletter" />
</fieldset>
</form>
<input name="none" /> 

jQuery 代码:

$("form input") 

结果:

[ <input name="name" />, <input name="newsletter" /> ] 

2. $("A>B") 查找A元素下面的直接子节点

例子:匹配表单中所有的子级input元素。

HTML 代码: 

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
   <label>Newsletter:</label>
   <input name="newsletter" />
</fieldset>
</form>
<input name="none" /> 

jQuery 代码:

$("form > input") 

结果:

[ <input name="name" /> ] 

3. $("A+B") 查找A元素后面的兄弟节点,包括非直接子节点

例子:匹配所有跟在 label 后面的 input 元素

HTML 代码: 

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
   <label>Newsletter:</label>
   <input name="newsletter" />
</fieldset>
</form>
<input name="none" /> 

jQuery 代码:

$("label + input") 

结果:

[ <input name="name" />, <input name="newsletter" /> ] 

4. $("A~B") 查找A元素后面的兄弟节点,不包括非直接子节点

例子:找到所有与表单同辈的 input 元素

HTML 代码:

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
   <label>Newsletter:</label>
   <input name="newsletter" />
</fieldset>
</form>
<input name="none" /> 

jQuery 代码: 

$("form ~ input") 

结果:

[ <input name="none" /> ] 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn