在里面<script>添加文本



>我通过查询字符串接收一个字符串,我希望在<script>内给定的文本部分之后添加此字符串。

HTML 代码中出现<script>的部分是:

<span id="e641370446" class="inline"></span><script type="text/javascript">/*<![CDATA[*/eval("var a="697OHPkfxK+cMU-8tFgWnE4zQ3GYSIvNDpi_0Co5eVlw@yZTJmu1B.hrXqRdAsj2Lba";var b=a.split("").sort().join("");var c="wsRdrdUVAmXmwr7wr.7lR";var d="";for(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));document.getElementById("e641370446").innerHTML="<a class=\"inline mail\" href=\"mailto:"+d+"?subject=[Curso] SEO Atípico%20Contato&body=Nome:%20%0D%0ATelefone:%20%0D%0AMensagem:%20%0D%0A\">envie um e-mail para cursos@atipico.com.br</a>"")/*]]>*/</script>

请注意,此脚本是包含的,并且始终在跨度之前,女巫每次都有一个不同的 id。

我想修改的部分是"mailto:"+d+"?subject=[Curso]"[Curso]之后插入查询字符串值,如下所示:

[Curso] string

我正在使用"jQuery-URL-Parser"插件来解析网址。

此外,这个脚本是一个mailto链接,所以,我只能在点击的情况下进行操作......

有什么想法吗?

给定跨度 ID,这很容易解决。使用 jQuery 更改 DOM,而不是脚本的内容。

var spanId = 'e641370446', // get this from wherever
    $link = $('#' + spanId).children('a.inline.mail');
    
$link.prop('href', $link.prop('href') + '&key=value');

亲眼看看:http://jsfiddle.net/mattball/E8HC5/

<小时 />

编辑:

我正在尝试调整您的代码,但它不起作用。在这种情况下,我必须在单词"[Curso]"之后添加字符串...知道吗?

您可以使用像 String.replace() 这样简单的东西。

...
$link.prop('href', $link.prop('href').replace('[Curso]', '[Curso] some text'));
...

演示 2:http://jsfiddle.net/mattball/f2sKa/

<小时 />

解决方案(由OP添加):

根据您的帮助,这是另一个人的建议:

$('a.mail').click(function (event) {
    var $this = $(this);
    var linkUrl = $this.attr('href');
    linkUrl = linkUrl.replace('[Curso]', '[Curso] some text');
    $this.attr('href', linkUrl);
});

最新更新