如果条件为真,则在HTML中包装文本

时间:2013-05-13 19:02:21

标签: jquery html5

我需要将<a>内的文本包装在此HTML标记中的<div> .... </div>标记之内:

<li class="first current">
  <a href="http://dts.devserver/">Home</a>
</li>
<li class="last has_children sub-menu">
  <a href="http://dts.devserver/blog">Blog</a>
</li>

但仅当LI具有has_children类时,结果应为:

<li class="first current">
  <a href="http://dts.devserver/">Home</a>
</li>
<li class="last has_children sub-menu">
  <a href="http://dts.devserver/blog"><div>Blog</div></a>
</li>

我应该使用哪个jQuery代码或方法或属性?在这里有任何帮助吗?

2 个答案:

答案 0 :(得分:5)

.wrappInner结合简单的选择器就可以了。

$('li.has_children a').wrapInner("<div>");

答案 1 :(得分:0)

希望以下代码有所帮助。 http://jsfiddle.net/HKm5S/

$(document).ready(function () {
$('li').each(function () {

    if ($(this).hasClass('has_children')) {
        var text = $(this).find('a').html();
        $(this).find('a').html("<div>" + text + "</div>");
    }
});
});