2012-02-15 37 views
0

我的HTML看起來像:改變DIV

<div class="cal_wrapper_top" id="event-1"> 
    <div class="cal_date"> 
     Feb 18 
    </div> 

    <div class="cal_events"> 
     Jack Johnson 
    </div> 
</div> 
<div class="cal_wrapper" id="event-2"> 
    <div class="cal_date"> 
     Feb 19 
    </div> 

    <div class="cal_events"> 
     Jason Mraz 
    </div> 
</div> 

當你徘徊要麼事件1或事件2,我想使用id =日起這個div來進行加粗。

是否可以選擇這個特定的div?

+4

ID應該是唯一的。您不能在同一個文檔中多次重複使用一個ID。改爲使用類名稱。 – 2012-02-15 21:26:49

+0

總是忘記這一點。即使如此,是否有可能只從此更新類cal_date? – Mike 2012-02-15 21:29:27

回答

3

你可以用純CSS做到這一點:http://jsfiddle.net/skimberk1/r645t/

或者你也可以使用jQuery做到這一點(雖然我不知道你爲什麼會想):http://jsfiddle.net/skimberk1/5wsPq/

此外,您還可以使用一次ID,一次。

編輯:這裏是改變懸停文字的例子:http://jsfiddle.net/skimberk1/qwSun/

+0

我打算推薦一個JavaScript解決方案,但是你發佈了這個。幹得好,你有我的+1。 – 2012-02-15 21:31:44

+0

不錯的解決方案!如果我想將div的內容更改爲日期以外的任何想法? – Mike 2012-02-15 21:33:08

+0

@Truth哈哈,很好的編輯。 – skimberk1 2012-02-15 21:34:14

0

肯定:

$('div.cal_wrapper, div.cal_wrapper_top').hover(function() { 
    $(this).find('div#date').css('font-weight', 'bold'); 
    //$(this).find('div.date').css('font-weight', 'bold'); //if changing to class 
    //$(this).find('div[name="date"]').css('font-weight', 'bold'); //if changing to name 
}, function() { 
    $(this).find('div#date').css('font-weight', 'normal'); 
    //$(this).find('div.date').css('font-weight', 'normal'); //if changing to class 
    //$(this).find('div[name="date"]').css('font-weight', 'normal'); //if changing to name 
});​ 

我將是失職指出屬性id應該是唯一的一個元素頁。否則就會發生怪癖。

您可能要重做HTML,要麼改變id一類:

<div class="cal_wrapper_top" id="event-1"> 
    <div class="cal_date date"> 
     Feb 18 
    </div> 

    <div class="cal_events"> 
     Jack Johnson 
    </div> 
</div> 
<div class="cal_wrapper" id="event-2"> 
    <div class="cal_date date"> 
     Feb 19 
    </div> 

    <div class="cal_events"> 
     Jason Mraz 
    </div> 
</div>​​​ 

或使用name屬性改爲:

<div class="cal_wrapper_top" id="event-1"> 
    <div class="cal_date" name="date"> 
     Feb 18 
    </div> 

    <div class="cal_events"> 
     Jack Johnson 
    </div> 
</div> 
<div class="cal_wrapper" id="event-2"> 
    <div class="cal_date" name="date"> 
     Feb 19 
    </div> 

    <div class="cal_events"> 
     Jason Mraz 
    </div> 
</div>​​​​​​​ 
+0

這是我的理解,'name'屬性只用於形式。 – skimberk1 2012-02-15 21:43:17

+0

'name'屬性可以在任何元素上使用(儘管它不一定會在* any *元素上進行驗證)。 'title'或'alt'或者一個自定義屬性可以很容易地使用。如果這是我的項目,我會使用'class'。 – pete 2012-02-15 21:58:23

+0

我一直在試圖說服任何會聽取類選擇器比現代瀏覽器中的ID稍慢的人,更重要的是,他們是正確的。 ID隨着你的需求變化而停止工作,但類永遠都是好的。故事的道德:基準之前做一些奇怪的事情。 – Jason 2012-02-15 22:18:26