我想通过在更改功能中使用其锚点来单击锚点来使用Jquery打开链接。请帮我打开
<div id="div1" style="display:none">
<a id="0" href="http://www.friferie.dk/inspiration/Belgien">Belgium</a>
<a id="1" href="http://www.friferie.dk/inspiration/Bulgarien">Bulgarien</a>
<a id="2" href="http://www.friferie.dk/inspiration/Danmark">Danmark</a>
</div>
**I want to pass id then open particular href into it**
$ ("").change(function () {
}
答案 0 :(得分:1)
长版(为了便于阅读):
$ ("#someselector").change(function () {
// Get selected value
var val = $(this).val();
// Use the selected value to create a jQuery ID selector to get the link
var link = $('#' + val);
// get the href value
var href = link.attr("href");
// Change the browser location
window.location = link;
});
或模拟链接点击:
$ ("#someselector").change(function () {
// Get selected value
var val = $(this).val();
// Use the selected value to create a jQuery ID selector and get the link
var link = $('#' + val);
// Click the link
link[0].click();
});
我倾向于使用[0].click()
而不是jQuery click()
,因为它会触及底层浏览器实现(我们不会关心jQuery附加功能,因为页面会发生变化)。
e.g。
$ ("#someselector").change(function () {
window.location = $('#' + $(this).val()).attr("href");
});
或
$ ("#someselector").change(function () {
$('#' + $(this).val())[0].click(); // Or `).click()` is you want it shorter
});
答案 1 :(得分:0)
是,通过使用其ID
下拉列表来选择根据此评论,您可以这样做:
$("#dropdown").change(function(e){ // change event on dropdown
$('#'+this.value).click(); // and apply the click on specific anchor
// $('#'+this.value).get(0).click(); // comparing to selected value
});
答案 2 :(得分:0)
<div id="div1" style="display:none">
<a id="0" href="#" onclick="onChange(this)">Belgium</a>
<a id="1" href="#" onclick="onChange(this)">Bulgarien</a>
<a id="2" href="#" onclick="onChange(this)">Danmark</a>
</div>
<script>
function onChange(obj){
var id= $(obj).attr("id");
switch(id){
case "0":
window.location.href="http://www.friferie.dk/inspiration/Belgien";
break;
case "1":
window.location.href="http://www.friferie.dk/inspiration/Bulgarien";
break;
case "2":
window.location.href="http://www.friferie.dk/inspiration/Danmark";
break;
}
}
</script>