单击后替换锚标记文本而不删除css

时间:2016-08-30 08:07:48

标签: php jquery ajax

我在使用jquery(replaceWith)点击它后更改锚标记文本,并且它正常工作。但它也取代了锚标签文本的CSS。

任何人都可以帮助我如何不替换css或再次添加它。

我的HTML如下:

<div class="col-xs-12 col-md-12" >
    <a class="btn btn-lg btn-success deal" target="_blank" style="width:100%;background:#b71c1c;" rel="nofollow, noindex" 
       href="<?= $coin["link"]; ?>" >
        <b>Get Offer</b>
    </a>
</div>

和代码:

$(document).ready(function(){
   $('.deal').click(function(){
       $(this).replaceWith("<?php echo $coin['coupon_code']; ?>");
  });
});

3 个答案:

答案 0 :(得分:1)

如果<?php echo $coin['coupon_code']; ?>包含html个标签,请使用

$(this).find('b').html('<?php echo $coin['coupon_code']; ?>');

或者如果是纯文本使用

$(this).find('b').text('<?php echo $coin['coupon_code']; ?>');

如果您不想大胆删除.find('b')

答案 1 :(得分:0)

试试这个,你只需要改变文字。

 $(this).html("<?php echo '<b>'.$coin['coupon_code'].'</b>'; ?>");

答案 2 :(得分:0)

如果您只想替换内部<b>标记的内容,这是您的最佳选择:

$('.deal').click(function(){
   $(this).find('b').text('<?php echo $coin['coupon_code']; ?>');
});