【问题标题】:Failed to select the links inside <nav> tags and apply the javascript未能选择 <nav> 标记内的链接并应用 javascript
【发布时间】:2014-08-16 12:17:04
【问题描述】:

我正在尝试将此 JS (http://jsfiddle.net/GNgjZ/) 应用到 &lt;nav&gt;&lt;/nav&gt; 内的链接,或者说,仅将 javascript 应用到 &lt;nav&gt;&lt;/nav&gt; 内的链接 问题是我似乎无法选择里面的链接:

<nav id="menu" class="group"><ul id="menu-main-menu" class="menu">
<li id="menu-item-119" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-100 current_page_item menu-item-119">
    <a href="http://localhost/wordpress/">Home</a>
</li>
<li id="menu-item-118" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-118">
    <a href="http://localhost/wordpress/contact/">Contact</a>
</li>
<li id="menu-item-117" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-117">
    <a href="http://localhost/wordpress/people/">People</a>
</li>
</ul>
</nav>  

这是我到目前为止所做的:

$(document).ready(function()
{
    $("nav").ready(function()
    {
        $("a").hover(function(e)
        {
            var randomClass = getRandomClass();
            $(e.target).attr("class", randomClass);
        });
    });
});

function getRandomClass()
{
    //Store available css classes
    var classes = new Array("green", "purple", "teal", "violet", "pink");

    //Give a random number from 0 to 5
    var randomNumber = Math.floor(Math.random()*6);

    return classes[randomNumber];
}

为什么它不起作用?有什么解决办法吗?

【问题讨论】:

  • 删除$("nav").ready..。 DOM 已经加载了上述准备好的处理程序。 See the fiddle
  • 只是想让您的链接在用户将鼠标悬停在它们上方时突出显示?
  • 喜欢这个jsfiddle.net/GNgjZ/288 ?您原来的小提琴在 getRandomClass 函数内没有返回值
  • 理论上没有那个选择器,我的文档中的所有链接都会被我的javascript选择对吗?但是,我只想要&lt;nav&gt;&lt;/nav&gt; 中的链接
  • 这是您的第一个小提琴的修复:jsfiddle.net/GNgjZ/289

标签: javascript dom hyperlink


【解决方案1】:

在这里,我修复了您问题中的代码以执行您想要的操作。

$(document).ready(function()
{
    $('nav a').attr('class',getRandomClass());
});

function getRandomClass()
{
    //Store available css classes
    var classes = ['green', 'purple', 'teal', 'violet', 'pink'];

    //Give a random class index
    var randomNumber = Math.floor(Math.random() * classes.length);

    return classes[randomNumber];
}

fiddle

【讨论】:

    猜你喜欢
    • 2016-11-05
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2021-07-18
    • 2012-06-24
    相关资源
    最近更新 更多