使用jQuery删除占位符

时间:2015-04-29 06:34:01

标签: javascript jquery html

我有以下代码,我想删除占位符。

<div class="myclass">
  <p><a href="http:[Sitename]">[Sitetile]</a>[change this too]someothercontent</p>
 </div>

我希望使用jQuery将一些事件更改为以上标记:

<div class="otherclass">
  <p><a href="http:yahoo.com">changemaincontent</a>changesomeothercontent</p>
</div>

3 个答案:

答案 0 :(得分:1)

创建一个对象,其索引名为要替换的部分(在括号内)并为其指定值。然后使用$.each - 函数迭代对象,并将html中的值替换为对象中的值。之后,将新的html-string分配给您的元素。

var change = {
    'Sitename': 'yahoo.com',
    'Sitetile': 'changemaincontent',
    'change this too': 'change'
};

var $elem = $('.myclass > p'); //cache the element
var html =$elem.html(); //get the html-string

$.each(change, function(index, value){ //iterate over the object

     html =  html.replace('[' + index + ']', value); //replace the values

});

$elem.html(html); //assign the new html-string

<强> Demo

<强>参考

.replace()

$.each()

.html()

答案 1 :(得分:0)

您需要将someothercontent放入<span>中 的 HTML

<div class="myclass">
  <p>
      <a href="http:google.com">maincontent</a>
      <span>someothercontent</span>
    </p>
 </div>  

<强>脚本

$('.myclass').find('a').text('changemaincontent');
$('.myclass').find('span').text('changesomeothercontent');  

Demo

答案 2 :(得分:0)

你可以试试这样的事情!!!

<<!DOCTYPE html>
<html>
 <head>
   <title></title>
 </head>
 <body>
   <div id='link'><a href='javascript:open_fun()'>OPEN</a></div>
 </body>
</html>
<script type="text/javascript">
 function close_fun() {
    document.getElementById('link').innerHTML = "<a href='javascript:open_fun()'>OPEN</a>";
 }
 function open_fun() {
    document.getElementById('link').innerHTML = "<a href='javascript:close_fun()'>CLOSE</a>";
 }
</script>

希望这有帮助!!!