我正在加載一個tr onclick第一個tr,但問題是tr中的每個td都應該加載第二個div內的不同div。現在custdata內的內容正在加載,但是如何加載相應div內的內容?用custdata加載div
這裏是演示 http://jsfiddle.net/FMnTa/6/
我正在加載一個tr onclick第一個tr,但問題是tr中的每個td都應該加載第二個div內的不同div。現在custdata內的內容正在加載,但是如何加載相應div內的內容?用custdata加載div
這裏是演示 http://jsfiddle.net/FMnTa/6/
我不知道這是否是你所要求的東西,但它似乎喜歡它。
$(function(){
$(".info").find("img").click(function(){
var trid = $(this).parent().attr("idcust");
var trdata = $(this).parent().attr("custdata");
// Hide all content divs and show only the one related to the click
$("#"+trid).children().hide();
$(trdata).show();
$("#"+trid).css("display","block");
});
});
這裏是一個小提琴,以及:http://jsfiddle.net/FMnTa/9/
代碼也可以一定程度上是這樣改進:
$(function(){
$("img", ".info").click(function(){
var parent = $(this).parent();
var trid = parent.attr("idcust");
var trdata = parent.attr("custdata");
// Hide all content divs and show only the one related to the click
$("#"+trid).show().children().hide();
$(trdata).show();
});
});
自定義數據屬性
當使用自定義屬性,你應該真的考慮使用custom data attributes(data-
屬性)。在你的情況下,屬性將是data-idcust
和data-custdata
。
然後,您可以使用jQuery的.data()
來獲取/設置屬性。鑑於您的姓名data-idcust
,您可以使用.data("custid")
來讀取它,並將其設置爲.data("custid", "newValue")
。
謝謝..這是我正在尋找的wat。但還有一件事是,爲什麼綠色td需要佔用很小的空間才能覆蓋整個tr?任何想法??另外,如果我第二次點擊相同的圖標,那麼它應該隱藏內容tr – Sowmya 2012-08-10 12:43:00
@Sowmya好的,它在[this fiddle](http://jsfiddle.net/FMnTa/12/)中排序。請注意,我在CSS的末尾添加了一個額外的CSS規則,以便您能夠正常工作。 – 2012-08-10 13:33:39
請參見本發生什麼:
$(".info").find("img").click(function(){
var trid = $(this).parent().attr("idcust");
var trdata = $(this).parent().attr("custdata");
$("#"+trid).show().find(trdata).css('border', '1px solid red');
$("#"+trid).show().find(trdata).toggle();
});
find(trdata)
找到tr1 div
與id trdata
不明白 – Alp 2012-08-10 11:40:08
我建議在帖子中加入一些標點符號,使其更容易理解。 – IvanL 2012-08-10 11:42:10