今天,我来寻求您在一个小小的javascript问题上的帮助。url如何使用此jquery?
示例url
这个html和javascript
function GetUrlValue(a) {
var b = window.location.search.substring(1);
var c = b.split('&');
for (var i = 0; i < c.length; i++) {
var d = c[i].split('=');
if (d[0] == a) {
return d[1]
}
}
}
$('#title').html('<h2>' + GetUrlValue('title') + '</h2>');
if (geoip_country_code() == 'TK' || geoip_country_name() == 'Tokelau') {}
else {
if (GetUrlValue('dLink1') == '') {
$('#url1').html('No link')
} else {
$('#url1').attr('onclick', "this.href='" + GetUrlValue('dLink1') + "'")
}
if (GetUrlValue('dLink2') == '') {
$('#url2').html('No link')
} else {
$('#url2').attr('onclick', "this.href='" + GetUrlValue('dLink2') + "'")
}
if (GetUrlValue('dLink3') == '') {
$('#url3').html('No link')
} else {
$('#url3').attr('onclick', "this.href='" + GetUrlValue('dLink3') + "'")
}
if (GetUrlValue('dLink4') == '') {
$('#url4').html('No link')
} else {
$('#url4').attr('onclick', "this.href='" + GetUrlValue('dLink4') + "'")
}
$('#gp').attr('onclick', "this.href='https://play.google.com/store/apps/details?id=" + GetUrlValue('gplay') + "'");
}
$(document).ready(function () {
document.title = ('' + GetUrlValue('title') + '');
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script src="http://j.maxmind.com/app/country.js" charset="ISO-8859-1"></script>
<section>
<div id='container_buttons'>
<p>
<a class='a_btn 1' href='#' id='url1' onclick='' rel='nofollow' target='_blank' title='Download'>Download 1</a>
</p>
<p>
<a class='a_btn 2' href='#' id='url2' onclick='' rel='nofollow' target='_blank' title='Download'>Download 2</a>
</p>
<p>
<a class='a_btn 3' href='#' id='url3' onclick='' rel='nofollow' target='_blank' title='Download'>Download 3</a>
</p>
<p>
<a class='a_btn 4' href='#' id='url4' onclick='' rel='nofollow' target='_blank' title='Download'>Download 4</a>
</p>
</div>
</section>
发布于 2014-12-14 19:54:36
我猜测您想要的是什么,但是如果您试图从查询字符串中读取值并相应地设置锚标记href属性,您可以按照以下步骤进行操作。
下面是一个从查询字符串中提取值的好函数:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}参考文献:How can I get query string values in JavaScript?
对于其余部分,您可以选择以url开头的任何if/else元素,然后相应地设置href,从而使您的id语句干涸一些:
$("a[id^='url']").each(function(){
var linkParam = "dLink" + this.id.replace("url", "");
if (getParameterByName(linkParam)) {
this.href= getParameterByName(linkParam);
} else {
$(this).text('No link')
}
});对于以下查询字符串(注意缺少dLink4 ):
http://example.com/?link=f9891188&title=My_Post_Title&dLink1=http://url.com/one&dLink2=http://url.com/two&dLink3=http://url.com/three您将得到以下标记:
<section>
<div id="container_buttons">
<p>
<a class="a_btn 1" href="http://url.com/one" id="url1">Download 1</a>
</p>
<p>
<a class="a_btn 2" href="http://url.com/two" id="url2">Download 2</a>
</p>
<p>
<a class="a_btn 3" href="http://url.com/three" id="url3">Download 3</a>
</p>
<p>
<a class="a_btn 4" href="#" id="url4">No link</a>
</p>
</div>
</section>https://stackoverflow.com/questions/27470735
复制相似问题