开发者

How do I use jQuery replaceWith correctly

here is my menu code :-

<div class="menu">
 <ul>
   <li><a href="http://domain.com/">Home</a></li>
 </ul>
</div>

I want replace it using .replaceWith to be :-

<di开发者_运维知识库v class="menu">
 <ul class="something">
   <li><a href="http://domain.com/">Home</a></li>
 </ul>
</div>

I tried something like this : -

$('<div class="menu"><ul>').replaceWith('<div class="menu"><ul class="something">' + $(this).text() + '</ul></div>');

But it's not working

What is the correct code for this replacement?


The difference I'm seeing is just the class of <ul class="something">.

Can't you just addClass() to it?

$('.menu ul').addClass('something');


When you create a jquery object using straight html code, it doesn't find matches for that code on the page; instead it creates a new element based on that html and wraps it in a jquery object. Consequently you can replace it all you like and it won't affect your page.

You need to first find the element on the page using jquery selectors ($("div.menu ul")) and then do something to it:

$("div.menu ul").addClass("something");


You can use it:

    $("ul").replaceWith("<ul class='something'><li><a href='http://domain.com/'>Home</a></li></ul>");

it works correctly.. Maybe value of attribute have to separated with single quote and syntax start and end with double quote..

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜