jquery on click get value undefined

时间:2015-06-06 06:02:07

标签: jquery

<script>
$(document).on('click', '.nav-li', function () {
    //alert("Clicked");
    var url = $(this).attr("href");
    alert(url);
});
</script>
<section style="background-image: url('img/nav-x.png');background-repeat: repeat-x;">
    <div class="container">
        <div class="row">
            <div class="col-sm-10 col-sm-offset-1">
                <div class="row">
                    <ul class="col-sm-12 nav">
                        <li href "" style="text-align:center;" class="nav-li">HOME
                            <img src="img/home.png" style="position: absolute;z-index: 100;right: 12px;top: -7px;" class="hrv-img" />
                        </li>
                        <li href "about.php" style="text-align:center;" class="nav-li hvr-bounce-to-top">ABOUT US
                            <img src="img/navhover.png" style="position: absolute;z-index: 100;right: -19px;top: -1px;display: none" class="hrv-img" />
                        </li>
                        <li href "" style="text-align:center;" class="nav-li hvr-bounce-to-top">OUR GROUP
                            <img

我需要使用jquery获取li属性(&#34; href&#34;)值,但它会警告&#34; undefined&#34;。还有其他办法吗?

3 个答案:

答案 0 :(得分:4)

您的jquery代码没有问题,只需更新您的href属性DEMO

注意:href attribut对li代码无效。

 href"about.php"
 href""

  href = "about.php"
  href = ""
  <li href = "about.php" style="text-align:center;" class="nav-li hvr-bounce-to-top">ABOUT US<img src="img/navhover.png" style="position: absolute;z-index: 100;right: -19px;top: -1px;display: none" class="hrv-img"/></li>

您需要在=属性后添加href

  

标记的任何属性的正确语法是Attribute = "value"

Secod选项

您可以使用data-*属性代替href .ex data-href="value"

DEMO

并更新你的jquery代码

<li data-href = "about.php" style="text-align:center;" class="nav-li hvr-bounce-to-top">ABOUT US<img src="img/navhover.png" style="position: absolute;z-index: 100;right: -19px;top: -1px;display: none" class="hrv-img"/></li>


$(document).on('click','.nav-li',function(){
  alert( $(this).data("href") );
});

答案 1 :(得分:3)

    href上的
  1. <li>s属性无效。

    使用data-*属性。

    <li data-href="about.php">...</li>
    

    li

    中的下一个<a>内容
    <li>
      <a href"about.php">
        ABOUT US
        <img/>
      </a>
    </li>
    
  2. 应该是href="" - attribute="value"

答案 2 :(得分:0)

您可以尝试使用以下代码

jQuery(".nav-li").click(function(event){
    var element = jQuery(event.currentTarget);
    var url = element.attr("href");
    alert(url);
});