2010-07-13 65 views
1

在jquery中,我如何引用具有某個title屬性的div?在jquery中,我如何引用具有特定標題屬性的div?

$('#inner').attr("title:contains('" + position +"')").css('position', 'absolute'); 

這不是爲我工作,如果包含不工作在那裏我如何引用一個div與標題=「div1」並更改其CSS。再次感謝!

編輯: 我有多個#inner div,如果標題不起作用,我該如何去引用特定的div?必須有某種方法可以給這些#內格的某種標識,以便我可以單獨給他們打電話。

+2

我覺得你正在尋找一個''div元素''div元素是一個祖先的' #inner'。但是我內心的某些東西告訴我你實際上有幾個'#inner'元素,並且你想要一個具有特定'title'的元素,請告訴我這不是真的!:o) – user113716 2010-07-13 01:29:51

+0

@patrick正是我哈哈。我有多個div,ID =#內部我想選擇一個特定的一個,並將其帶到前面,因此位置:絕對css修改。除此之外,我還可以如何命名這些div,以便我可以通過某種編號獲得它們,所以我可以單獨給它們打電話? – anthonypliu 2010-07-13 22:46:06

+0

anthonypliu - 如果您要重複使用相同的名稱,它不能是'ID'屬性。你應該使用'class'來代替。我會用一個例子更新我的答案。 – user113716 2010-07-13 23:21:05

回答

1

重命名你的div所以他們有一個唯一的ID和使用類=「內部」,然後使用。每次循環,雖然他們 或使用類似的代碼如上 $ ( '.inner ')找到(' DIV [標題= DIV1] ')的CSS(' 位置', '絕對')。 jquery不喜歡它,當你不按規則玩(多個元素具有相同的「唯一」ID

2

您想使用.attr('title')來獲取title屬性的值。

.attr不適用於選擇元素,您不能將:contains選擇器傳遞給它。

0

要選擇那些具有title屬性:

$("#inner > *[title!=]").css('position','absolute'); 
+0

我會使用'#inner [title]',因爲你的例子只會選擇直接後代,星號不是必須的,'!=' – 2012-01-03 18:42:26

6

如果你正在尋找一個div那就是#inner的祖先,有標題div1,這樣做:

$('#inner').find('div[title=div1]').css('position','absolute'); 

編輯:

東西告訴我,你我有一個以上的<div id='inner'>和你想獲得一個與特定的標題。

如果是這樣,您的標記是無效的。一個頁面上的ID不能超過一個。

如果是這種情況,您將不得不重新考慮您的策略。


下面是一個使用class屬性,而不是ID的一個例子,以及基於所述title屬性:

HTML

<div class='inner' title='div1'>some content</div> 

jQuery的

$('.inner[title=div1]').css('position','absolute'); 

這將選擇具有類inner的元素標題div1。它使用「屬性等於」選擇器。

jQuery中有很多其他類型的選擇器可以使用。這裏是一個參考:

+0

爲什麼使用find?構造選擇器來閱讀''#inner div [title = div1]''也應該可以工作。我的方式優點/缺點? – 2012-01-03 18:39:32