href 始终为“未定义”

发布于 2024-11-10 12:49:59 字数 831 浏览 3 评论 0原文

警惕时我总是不确定......为什么?

<script type="text/javascript">

$(document).ready(function(){
    $("#menu ul li").click(function() {
        var path = $(this).attr("href"); 
        alert (path);
        $.get(path, function(data) { $("#texte").html(data); });
        return false;
    });
});

</script>

</head>

<body>

<div id="wrapper">

<div id="menu">
  <ul>
    <li><a href="pulse/data/blocks/intro.html">Intro</a></li>
    <li><a href="pulse/data/blocks/presentation.html">presentation</a></li>
    <li><a href="pulse/data/blocks/pourquoi.html">pourquoi ?</a></li>
    <li><a href="pulse/data/blocks/forfaits.html">forfaits</a></li>
  </ul>
</div>

On alert I always get undefined... why ?

<script type="text/javascript">

$(document).ready(function(){
    $("#menu ul li").click(function() {
        var path = $(this).attr("href"); 
        alert (path);
        $.get(path, function(data) { $("#texte").html(data); });
        return false;
    });
});

</script>

</head>

<body>

<div id="wrapper">

<div id="menu">
  <ul>
    <li><a href="pulse/data/blocks/intro.html">Intro</a></li>
    <li><a href="pulse/data/blocks/presentation.html">presentation</a></li>
    <li><a href="pulse/data/blocks/pourquoi.html">pourquoi ?</a></li>
    <li><a href="pulse/data/blocks/forfaits.html">forfaits</a></li>
  </ul>
</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

胡渣熟男 2024-11-17 12:49:59

您需要选择 a 标签。

var path = $('a', this).attr("href"); 

You need to select the a tag.

var path = $('a', this).attr("href"); 
一江春梦 2024-11-17 12:49:59

您需要选择元素:

$(document).ready(function(){
    $("#menu ul li").click(function() {
        var path = $(this).find("a").attr("href"); 
        alert (path);
        $.get(path, function(data) { $("#texte").html(data); });
        return false;
    });
});

You need to select element:

$(document).ready(function(){
    $("#menu ul li").click(function() {
        var path = $(this).find("a").attr("href"); 
        alert (path);
        $.get(path, function(data) { $("#texte").html(data); });
        return false;
    });
});
平安喜乐 2024-11-17 12:49:59

因为您要在 LI 元素上分配点击处理程序,而不是 A 元素。

这是正确的:

$("#menu a")

Because you're assigning the click-handler on the LI elements, not the A elements.

This is correct:

$("#menu a")
下壹個目標 2024-11-17 12:49:59

您正在查看列表项 (li) 的 href。将您的代码更改为以下内容:

$("#menu ul li a").click(function() { 

You are looking at the href of your list item (li). Change your code to the following:

$("#menu ul li a").click(function() { 
玉环 2024-11-17 12:49:59

您正在尝试获取 li 元素的 href 属性。您可能正在寻找 a 元素上的 href 属性。请改用此选择器:

$("#menu ul li a")

也可以通过从选择器中删除 ulli 来减少它。

You are trying to get the href attribute of the li element. You are probably looking for the href attribute on the a element instead. Use this selector instead:

$("#menu ul li a")

It can probably be reduced by removing either the ul or li from the selector as well.

硬不硬你别怂 2024-11-17 12:49:59

问题在于 $(this) 引用了

  • 元素而不是它的链接。您可以使用以下选择器修复此问题:
  • var path = $("a", $(this)).attr("href"); 
    

    The trouble is that $(this) references the <li> element instead of it's link. You can fix this by using the following selector:

    var path = $("a", $(this)).attr("href"); 
    
    凑诗 2024-11-17 12:49:59

    您错过了一个标签。

    $("#menu ul li a").click
    

    you have missed a tag.

    $("#menu ul li a").click
    
    一抹淡然 2024-11-17 12:49:59

    您的 JQuery 引用了错误的元素:
    您需要引用 UL LI A 元素,而不是引用 UL Li 元素,如下所示:

    $(document).ready(function(){
        $("#menu ul li **a**").click(function() {
            var path = $(this).attr("href"); 
            alert (path);
            $.get(path, function(data) { $("#texte").html(data); });
            return false;
        });
    });
    

    Your JQuery is referencing the wrong element:
    Instead of referencing the UL Li element you need to reference the UL LI A element as shown below:

    $(document).ready(function(){
        $("#menu ul li **a**").click(function() {
            var path = $(this).attr("href"); 
            alert (path);
            $.get(path, function(data) { $("#texte").html(data); });
            return false;
        });
    });
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文