2012-07-23 31 views
-2

可能重複:
How to add new class and attributes to div if it exists on the page添加新的類和屬性的div,如果它在網頁上不存在

我需要我的母版頁上的JavaScript代碼,試圖找到,如果一個div存在。如果是這樣,它應該添加一個新的類,並添加一個新的ID屬性。 例如,如果頁面有這個div:

<div class="toplink">abc..</div> 

然後JavaScript代碼應該使它完全一樣:

<div class="toplink adin" data-aid="114">abc..</div> 

的DIV中的代碼應該保持不變。

我嘗試這樣的代碼,但是這是不工作

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript"> 
    if ($('.toplink').exists()) { 
     $('.toplink').addClass('adin').attr('data-aid', '114'); 
    } 
</script> 

什麼不對的代碼?我在哪裏放置此代碼,在頁眉頁腳? 我能做到這一點與JavaScript,而不是jQuery的

+0

這和C#有什麼關係? – 2012-07-23 20:13:10

回答

1

嘗試$()length屬性,和將此片段放在頁面的最底部,然後關閉主體標籤

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript"></script> 
<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    if ($('.toplink').length > 0) { 
     $('.toplink').addClass('adin').attr('data-aid', '114'); 
    } 
}); 
</script> 
+0

O AAwesome :) 非常感謝你,現在使用此代碼 – khawarPK 2012-07-23 20:29:40

+0

jQuery 1.4?真? – Blazemonger 2012-07-23 21:28:28

+0

它在OP代碼中。我給出的答案將爲他工作。 – iamruss 2012-07-23 21:32:49

2

而不是

.attr('data-aid','114') 

使用.data方法:

.data('aid','114') 

http://api.jquery.com/data

+0

最終結果是否相同?它是更快還是有什麼區別? :-) – 2012-07-23 20:17:19

+0

這取決於你想要的'data-'屬性。 – Blazemonger 2012-07-23 21:27:56

1

您的代碼可能只是在DOM準備好之前運行。換行如下:

$(function() { 
    $('.toplink').addClass('adin').attr('data-aid', '114'); 
}); 
+1

另外,您不需要檢查元素是否存在 - 如果它不選擇器不會返回任何項目。 – BlackSpy 2012-07-23 20:16:28

相關問題