我想要实现的目标是:
http://example.com/test/index.html?&dv1=1023faf2ee37cbbfa441eca0e1a36c
1023faf2ee37cbbfa441eca0e1a364
http://example.org/?1023faf2ee37cbbfa441eca0e1a364
中的另一个链接,将其作为变量传递给此代码onclick="nextQuestion(6, 'http://www.example/iclk/redirect.php?apxcode=042004&id=eT9HmN9XD3xMgT8nKUj0KRjMIWuXeTj0KN2-0N&dv1={id}');"
,重新整理最后一部分id
。我需要使用 jquery 或 javascript NO PHP
执行此操作答案 0 :(得分:2)
我完全重写了这个答案。我想我现在明白你的问题了。
一般来说,内联事件处理程序是个坏主意。你应该分开结构和行为。您可以通过绑定javascript中的处理程序而不是标记来轻松完成此操作。
要做到这一点,你只需要
从按钮中移除onclick
,添加标识符(question
)
<a class="btn rollover question">click me</a>
然后你可以做
$('.question').click(function() {
var id = getQueryVariable("dv1");
nextQuestion(6, 'http://www.example/iclk/redirect.php?apxcode=042004&id=eT9HmN9XD3xMgT8nKUj0KRjMIWuXeTj0KN2-0N&dv1=' + id);
});
您可能需要查看fiddle中的完整示例。它不起作用,因为小提琴在iframe中运行,但只要你将它复制到你的项目中,它就会起作用。
哦,最后一件事:你可能想用一个库从url获取参数。最安全,最简单的最可靠的做事方式是使用库。在您的情况下,您可能想尝试simple-query-string。
答案 1 :(得分:0)
我使用以下函数从链接中获取我需要的部分
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
var foo = getQueryVariable("dv1");