如果页面上存在div,则将新类和属性添加到div

时间:2012-07-23 20:09:56

标签: c# javascript jquery

  

可能重复:
  How to add new class and attributes to div if it exists on the page

我的母版页上需要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吗

3 个答案:

答案 0 :(得分:2)

而不是

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

使用.data方法:

.data('aid','114')

http://api.jquery.com/data

答案 1 :(得分:1)

尝试使用$()。length属性,并在关闭body标记之前将此代码段放在页面的最底部

<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>

答案 2 :(得分:1)

您的代码可能只是在DOM准备好之前运行。包装如下:

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