2016-11-01 3 views
0

Я хочу изменить HREF одной кнопки:Как изменить свойство location.href динамически через jQuery?

<button class="btn btn-info btn-lg" id="home" onclick="location.href='index.php'">Home</button> 

Я попытался это:

$('#home').prop("href" , "home.php"); 

PHP:

<button class="btn btn-info btn-lg" id="home" onclick="location.href='<?php echo $link; ?>'">Home</button> 

, но это не так Работа.

+0

Код кнопки: Prashant

+0

Thats, потому что' href' не является атрибутом вашей 'кнопки'. Это часть вашего обработчика' onclick'. – putvande

+0

Это не работает, потому что вы используете onclick, а не href. ... – Tyr

ответ

0

Wrap #home вокруг якоря <a> тега, то вы можете изменить его следующим образом:

Edit: Как @ putvande-х комментарии ниже предполагают, что я не могу иметь кнопку внутри тега привязки, так как это семантически неправильно, я буду менять <button> с меткой <span> с классом btn.

<a href="<?php echo $link; ?>"> 
    <span class="btn btn-info btn-lg" id="home">Home</span> 
</a> 

<script type="text/javascript"> 
$('#home').parent().attr('href', 'home.php'); 
</script> 
+1

Это семантически некорректно. Вы не можете иметь кнопку внутри тега привязки. – putvande

+0

@putvande Спасибо. TIL. Я соответствующим образом изменю свой ответ. –

-1

Я думаю, что вы ищете, attr() не .prop()

JS:

$('#home').attr("href" , "home.php"); 

См скрипку:

https://jsfiddle.net/epL9gb6t/

+0

Он использует кнопку, а не привязку. – Tyr

+1

Непонятно, относится ли он к семантическому '

+0

Ps это было до того, как он отправил исходный HTML-код. –

Смежные вопросы