0

我得到了包含以下数据的javascript变量(code2):

<div class="pages"><center><a class="selected" href="/Episodes-1234_power1" title="power album page 1" >1</a><a class="normal" href="/Episodes-1234_power2" title="power album page 2"> 2</a>

我想把它改成这样:

<div class="pages"><center><a class="selected" href="./doit.php?title=<?php echo $_GET['title'];?>&Num=/Episodes-1234_power1" title="power album page 1" >1</a><a class="normal" href="./doit.php?title=<?php echo $_GET['title'];?>&Num=/Episodes-1234_power2" title="power album page 2"> 2</a>

我在 php 中做了类似的事情,比如这个例子:

$code2=str_replace('href="', 'href="./doit.php?title='.$title.'&Num=', $code1);
echo $code2;

我尝试在 javascript 中做同样的事情,但我的以下代码不起作用!你们能帮我修一下吗?谢谢

<script>
.....
.....
alert ('' + code2);

 //document.write(code2);
var myString = code2;
var myString2 = myString.replace(href=, 'href="./doit.php?title=<?php echo $_GET['title'];?>&Num=');

document.write (myString2);
</script>
4

2 回答 2

0

您可以像使用 PHP 一样使用 javascriptreplace方法,并利用其对正则表达式的支持来匹配一般意义上的 href 值。基本上是这样的:

var theSecondString = theFirstString.replace(/href=".+"/, theReplacementString);

使用/href=".+"/意味着它将查找 href 'key',以及双引号中的任何内容,然后将所有内容替换为您的替换字符串。

这是一个jsfiddle,它显示了它的作用。

编辑:正则表达式应该/href="/g还包括原始的 href 组件;同样的原则也适用于一般意义上,当然,这是一个更新的 jsfiddle

于 2012-12-08T04:00:00.750 回答
-1

我喜欢将这样的字符串变成实际的 dom 元素,然后使用方法从那里进行操作:

var div = ​docu​ment.createElement('div');
div.innerHTML = code2

var a = div.querySelectorAll('a')[0];
a.href = "./doit.php?title=<?php echo $_GET['title'];?>&Num=";

document.body.appendChild(div)
于 2012-12-08T03:51:54.083 回答