用另一个HTML替换HTML标记

时间:2016-01-13 20:47:28

标签: javascript php jquery html css

我正在尝试使用php或jquery将一些HTML标记替换为另一个HTML标记。

我的当前标签(默认):

<li class="dropdown"> <a href="index.html" class="dropdown-toggle"> Home</a></li>

我想用

替换上面的HTML标记
<li class="dropdown"> <a href="index.html" class="dropdown-toggle active"> Home</a></li>

示例:

默认代码:<h1> tag </h2>

替换了代码:<h2> tag </h2>

我已经在stackoverflow上搜索了很多文章,但没有为它创建解决方案。

提前感谢

3 个答案:

答案 0 :(得分:1)

<强>更新

再次看到你的问题。你只需要添加:

$(".dropdown-toggle").addClass("active");
  

示例:

     

默认代码:<h1> tag </h2>
  替换了标签:<h2> tag </h2>

您可以使用.replaceWith()

&#13;
&#13;
$("h1").replaceWith(function() {
  return $("<h2 />", {
    html: $(this).html()
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h1> tag </h1>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您只需在a上添加一个类$('<li class="dropdown"> <a href="index.html" class="dropdown-toggle"> Home</a></li>').find("a").addClass("active") ,就这样做

//Calculate squares height and width
var containerHeight = $('#container').innerHeight();
var containerWidth = $('#container').innerWidth();
var squareMargins = ($('.squares').outerWidth(true) - $('.squares').outerWidth()) * x;  //Margin * x to take margin space into account, otherwise calculation will be off
var squareHeight = (containerHeight - squareMargins) / x;
var squareWidth = (containerWidth - squareMargins) / x;
$('.squares').height(squareHeight);
$('.squares').width(squareWidth);

答案 2 :(得分:0)

试试这个。我已经创建了一个自定义函数,您可以在其中传递要与目标元素一起添加的类,它将输出整个html。

$.fn.AddNewClass = function(newClass,targetElement)
{
   $(this).contents().filter(function()
   {
      if($(this).is(targetElement)){
          var clone =  $(this);          
          $(clone).addClass(newClass);
          $(this).replaceWith($(clone));
       }
   });  

    return $(this)[0].outerHTML;
}

var ele = "<li class='dropdown'><a href='index.html' class='dropdown-toggle'>Home</a></li>";
var newEle = $(ele).AddNewClass('active','a.dropdown-toggle');
alert(newEle);

示例:https://jsfiddle.net/DinoMyte/so000t49/5/