Ⅰ JQUERY選取 上一個兄弟元素
前兩位所寫:一個是查找全部的input控制項的同輩元素,另一個是查找下一個同輩元素。
我以前也遇到過這種問題,向下找容易,向上找較麻煩,我就直接在前面放一個隱藏域,再通過這個隱藏來向下找就可以找到上一個兄弟元素了
Ⅱ JQUERY怎麼選取上一個兄弟元素
<script type="text/javascript"> $(function(){ alert($("input[type='checkbox']").prev().val()); }) </script>
Ⅲ jquery怎麼獲取當前節點的前一個節點
jquery獲取當前節點的前一個節點步驟如下:
1、打開html開發工具,新建一個html代碼頁面。
Ⅳ 我在看javascript語言精粹裡面有一個例子,有例子但是沒有使用,誰可以正確的使用下有點不理解
1. walk_the_DOM方法:這個方法的主要作用就只是遍歷某個DOM節點(node)下的所有子節點,並且在遍歷到每個節點的時候,都是執行參數中傳入的那個方法(func),你要是想要對遍歷到的節點做些其他什麼事情,那麼你自己就可以自定義個函數,把它當參數傳入到walk_the_DOM方法里就行了;這個方法里可能會有疑問的地方:
1.1 debugger; 關鍵字,這個是調式js代碼用的,你如果用ASP.NET調試的時候,你的js代碼里
寫有debugger關鍵字,那麼執行到debugger的時候就會中斷執行,就像加個斷點一樣。當
然在IE的開發人員工具里調試,效果也是一樣的。
1.2 node.firstChild :這個是取得指定節點的第一個子節點。
1.3 node.nextSibling:取得指定節點的下一個兄弟節點。
2.getElementsByAttribute方法:這個方法里調用了walk_the_DOM方法遍歷body對象,主要作用是根據HTML標記中的指定屬性,取得所有該屬性值等於傳入值的HTML控制項對象。先整個例子吧:
<html>
<head>
<scriptlanguage="javascript">
functionWindow_Load(){
//自定義屬性depth為2的所有html控制項對象
varelements=getElementsByAttribute("depth","2");
alert(elements[0].outerHTML);
//取得所有width為29的html控制項對象
varelements=getElementsByAttribute("width","29");
}
varwalk_the_DOM=functionwalk(node,func){
debugger;
func(node);
node=node.firstChild;
while(node){
walk(node,func);
node=node.nextSibling;
}
};
vargetElementsByAttribute=function(att,value){
varresults=[];
walk_the_DOM(document.body,function(node){
varactual=node.nodeType===1&&node.getAttribute(att);
if(typeofactual==='string'&&
(actual===value||typeofvalue!=='string')){
results.push(node)
}
});
returnresults;
};
</script>
</head>
<bodyonload="Window_Load();">
<divid="node1">
<divid="node11"depth="2"width="30">dd</div>
<divid="node12"depth="2"width="29">dd</div>
<divid="node13"depth="2"width="29">dd</div>
</div>
</body>
</html>
這里的屬性,可以是HTML標記的默認屬性,也可以是自定義的屬性。getElementsByAttribute方法里,比較難理解的地方可能是下面這一句:
varactual=node.nodeType===1&&node.getAttribute(att);
理解這段代碼,先要清楚javascript里運算符的優先順序(http://book.51cto.com/art/200807/83043.htm),它的執行順序用括弧標注下:
varactual=((node.nodeType===1)&&node.getAttribute(att));
先執行等同於(===),在執行邏輯和(&&),最後才賦值。另外你還要去了解一下邏輯運算符的「短路」方式(http://www.cnblogs.com/pigtail/archive/2012/03/09/2387486.html),這個在js里會用的比較多,但是其他語言可能不支持這樣的用法。 總之上面這句代碼跟下面這片代碼的作用是一樣一樣的:
varactual;
if(node.nodeType!==1){
actual=node.nodeType===1;//得到的是個整型數值(Numeric)
}else{
actual=node.getAttribute(att));//得到的是個字串(String)
}
Ⅳ 點擊onTd()事件怎麼獲得tid2的父節點<rid2>的上一個兄弟節點<rid1>下的<tid1>下的<textarea>的id代碼如下
onTd(當前節點的num 也就是你所說的2)
循環生成這個 table
使這些tr td 的 id 有規律。
id_num = num -1;
jq代碼: $("#tid"+id_num +" txtid").val();
Ⅵ jquery如何獲取某一個兄弟節點,不是全部的,是指定的兄弟節點
$('#id').siblings() 當前元素所有的兄弟節點
$('#id').prev() 當前元素前一個兄弟節點
$('#id').prevaAll() 當前元素之前所有的兄弟節點
$('#id').next() 當前元素之後第一個兄弟節點
$('#id').nextAll() 當前元素之後所有的兄弟節點
這三個方法都可以添加選擇器,給出選擇條件,就能找到你指定的兄弟節點了。
(6)訪問指定節點的上一個兄弟節點擴展閱讀
1、jquery 獲取元素(父節點,子節點,兄弟節點)
$("#test1").parent(); // 父節點
$("#test1").parents(); // 全部父節點
$("#test1").parents(".mui-content");
$("#test").children(); // 全部子節點
$("#test").children("#test1");
$("#test").contents(); // 返回#test裡面的所有內容,包括節點和文本
$("#test").contents("#test1");
$("#test1").prev(); // 上一個兄弟節點
$("#test1").prevAll(); // 之前所有兄弟節點
$("#test1").next(); // 下一個兄弟節點
$("#test1").nextAll(); // 之後所有兄弟節點
$("#test1").siblings(); // 所有兄弟節點
$("#test1").siblings("#test2");
$("#test").find("#test1");
2、元素篩選
// 以下方法都返回一個新的jQuery對象,他們包含篩選到的元素
$("ul li").eq(1); // 選取ul li中匹配的索引順序為1的元素(也就是第2個li元素)
$("ul li").first(); // 選取ul li中匹配的第一個元素
$("ul li").last(); // 選取ul li中匹配的最後一個元素
$("ul li").slice(1, 4); // 選取第2 ~ 4個元素
$("ul li").filter(":even"); // 選取ul li中所有奇數順序的元素
Ⅶ jquery怎麼找到當前點擊事件的對象的第一個兄弟節點
$('#id').next() 當前元素之後第一個兄弟節點
Ⅷ jquery如何查找到最近的指定名字的兄弟節點!!!急,求幫助
如果順序不變你可以使用prev()尋找目標的前一個同輩節點,如果你只知道2這相鄰可以這樣寫
var target=jQuery(this).prev(".scd").length>0?jQuery(this).prev(".scd"):jQuery(this).next(".scd");target就是獲取fir相鄰的同輩節點
Ⅸ xpath如何獲取標簽內容相同的兄弟節點
$('#id').siblings() 當前元素所有的兄弟節點
$('#id').prev() 當前元素前一個兄弟節點
$('#id').prevaAll() 當前元素之前所有的兄弟節點
$('#id').next() 當前元素之後第一個兄弟節點
$('#id').nextAll() 當前元素之後所有的兄弟節點
這三個方法都可以添加選擇器,給出選擇條件,就能找到你指定的兄弟節點了。