jquery空div类并添加新内容

时间:2014-03-18 10:48:46

标签: jquery

原来我想在url中有“extraordinaire”匹配时清空div类。因为我正在为不同的域使用多个模板。而module_menu正在引用动态菜单。我必须删除此菜单,这是代码,它工作正常:

    <div class="navigation-v" id="smoothmenu-v">
    {module_menu,1216740}
    </div>

<script type="text/javascript">
$(document).ready(function() {
    if(location.href.indexOf('extraordinaire') >= 0) {
        $('.navigation-v').empty(); 
        // clear value then add new menu content inside
    }    
});
</script>

然后我尝试在空div中添加一个新菜单,我有以下代码,但它不起作用,我试过.appnd(),. html()但是没有一个工作,我认为问题也许是module_menu中的逗号打破逻辑,但我不是很确定。请帮忙。谢谢。

这是代码:

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">
$(document).ready(function() {
    if(location.href.indexOf('extraordinaire') >= 0) {
        $('.navigation-v').empty().html('{module_menu,1271722}'); 
      // clear value then add new menu content inside
    }    
});
</script>

6 个答案:

答案 0 :(得分:1)

使用replaceWith方法,它将用现有的div替换新的div

$('.navigation-v').replaceWith('<div class="navigation-v" id="smoothmenu-v">{module_menu,1271722}</div>'); 

或使用html方法如下

$('.navigation-v').html('{module_menu,1271722}');

答案 1 :(得分:0)

试试这个

$('.navigation-v').html('<div class="navigation-v" id="smoothmenu-v">{module_menu,1271722}</div>'); 

答案 2 :(得分:0)

不使用.html()函数,而是使用.append()方法。

$('.navigation-v').append('{module_menu,1271722}');

如果您只需要在div中插入内容而不实际更改其ID或其他属性,我发现这是一个更干净的方法。

答案 3 :(得分:0)

思想ID加上我的2便士因为你的代码在技术上很好。 (你可能并不意味着将另一个div与同一个类放在同一个类中但是嘿)问题是你所在的当前页面在Url中有extraordinaire吗?

这是证明它有效的小提琴http://jsfiddle.net/tL3PN/1/

的Javascript

$(document).ready(function() {
    if(location.href.indexOf("fiddle") >= 0) {
        $('.navigation-v').empty().html('{module_menu,1271722}');
    }    
});

HTML

<div class="navigation-v" id="smoothmenu-v">Hello</div>

正如您所看到的,Hello已被替换,因为在这种情况下,fiddle位于当前网页网址中...

答案 4 :(得分:0)

您的代码看起来很好。我只是稍微改进了追加以使其可读。

$('.navigation-v').empty().append(
    $('<div/>', {
        'class': 'navigation-v',
        'id': 'smoothmenu-v'
    }).html("{module_menu,1271722}")
);

答案 5 :(得分:-1)

<script type="text/javascript">
    $(document).ready(function() {   
        $('.classname').html('<div> content goes here </div>');
    });
</script>