Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过了解节点的值来访问dom&&;从已知值求手风琴指标_Javascript_Jquery_Html_Dom_Accordion - Fatal编程技术网

Javascript 如何通过了解节点的值来访问dom&&;从已知值求手风琴指标

Javascript 如何通过了解节点的值来访问dom&&;从已知值求手风琴指标,javascript,jquery,html,dom,accordion,Javascript,Jquery,Html,Dom,Accordion,我有两个问题: 1) 因为我对html内容有相似的结构,唯一的区别是类标题内容不同。我还尝试使用$(div.title:contains(“cat”)) $(div.title).text()=“cat”) 2) 如何通过检查$(div a)内容来获取手风琴的索引是必需的。我尝试使用$(div a.text()=“cat” 检查此处的代码: HTML1内容 <div class="mod moduleselected" id="mod969"> <div cla

我有两个问题:

1) 因为我对html内容有相似的结构,唯一的区别是类标题内容不同。我还尝试使用$(div.title:contains(“cat”)) $(div.title).text()=“cat”)

2) 如何通过检查$(div a)内容来获取手风琴的索引是必需的。我尝试使用$(div a.text()=“cat”

检查此处的代码:

HTML1内容

    <div class="mod moduleselected" id="mod969">
    <div class="content module moduleselect">
    <div class="hd" ><div class="inner">
    <div class="title">cat</div>
    <ul class="terminallist"></ul>
    <ul class="buttons">
    <li class="help"></li>
    <li class="show" ></li>
    </ul>
    </div>
    </div>
    </div>

    <div class="mod moduleselected" id="mod969">
    <div class="content module moduleselect">
    <div class="hd" ><div class="inner">
    <div class="title">rat</div>
    <ul class="terminallist"></ul>
    <ul class="buttons">
    <li class="help"></li>
    <li class="show" ></li>
    </ul>
    </div>
    </div>
    </div>

<div class="mod moduleselected" id="mod969">
    <div class="content module moduleselect">
    <div class="hd" ><div class="inner">
    <div class="title">dog</div>
    <ul class="terminallist"></ul>
    <ul class="buttons">
    <li class="help"></li>
    <li class="show" ></li>
    </ul>
    </div>
    </div>
    </div>
下面是我试图用这个javascript代码做的事情。当我将鼠标移到猫的内容上时,我希望打开带有猫内容的手风琴。当我离开它关闭手风琴选择

当我将鼠标悬停在html内容上时,猫是老鼠。它应该并排打开这些内容的手风琴按钮。示例:我将鼠标悬停在rat(html内容)上,我应该看到手风琴rat打开(或活动,即内容可见)。


听起来您需要这样的内容:当内容部分悬停在上方时,找到该部分的标题,并将其文本与
方法的文本进行匹配。

它应该与以下内容一样简洁(可能会有一些小的调整):

使用HTML时要小心,因为这个正则表达式过于简单,因为它只抓住了最后一个“单词”,在您的示例中,它是一个数字。我们减去1得到一个从零开始的索引。如果向元素中添加更多文本,则该选项将中断


请参阅:

您能否建议使用$('div.content')将发生什么,因为据我所知,它将选择div内的内容。但是,由于有多个div,它如何仅选择带有Sample2的一个div。唯一的区别是标题类的内容。
content
是您的类名<代码>div.content
选择类名为“content”的div。我不知道您的完整html看起来如何,您可以在JSFIDLE中发布完整的代码。这应该适用于所有样本,而不仅仅是样本2。您是否遇到错误?HTML1显示了内容的外观。我正在尝试$(.title)或$(div.title).text(),但这两种情况下的文本都为空。t你需要把它们用引号括起来:
$(“.title”)
$(“div.title”).text()
对不起,实际上我也用了引号@wilmore:非常感谢。实际上,标题的内容在我的案例中是文本,而不是结尾的数字,所以我应该没问题。其实我觉得我的问题不清楚。当我将鼠标悬停在html内容示例1、示例2上时。它应该并排打开这些内容的手风琴按钮。示例:我将鼠标悬停在示例2(html内容)上,我应该看到手风琴示例2处于打开状态(或活动状态,即内容可见)。请您提出如何实现这一目标的建议。谢谢,我提供的东西应该能满足你的要求。如果不是,那么也许有一些细节我遗漏了。当你尝试这个的时候,结果是什么。您是否在控制台中看到错误消息?有空位吗?您是否正确加载了jQuery accordion插件?您可以通过调用.accordion('activate',此处为硬编码号码)手动打开手风琴吗?是的,所有文件都正常工作。但当我把鼠标放在手风琴上时,它会显示工具提示,上面写着反馈。这就是编写代码的目的吗?当我谈到html内容时,它没有给出手风琴的索引,特别是html元素id必须是唯一的(只有一个可以有
id='mod969'
)。
        <div id="dia">
        <div id="dialog" title="Detailed FeedBack ">
        <div id="accordion">
        <h3><a href="#">dog</a></h3>
        <h3><a href="#">cat</a></h3>
        <h3><a href="#">rat</a></h3>
        </div>
        </div>
        </div>
        $('div .title').mouseover(function() {
    if($("div a").text().indexOf("cat")!=-1)
    {
    $("#accordion").accordion("activate", 1);
    }
    $('div .title').mouseleave(function(){$("#accordion").accordion("activate", -1); });
        });
$(function() {
    $("#accordion").accordion();

    var links = $('#accordion a').map(function() {
        return $(this).text().trim().toLowerCase();
    }).toArray();

    $('div.content').mouseover(function() {
        var title = $(this).find('div.title').text().toLowerCase();
        var index = links.indexOf(title);
        if (index != -1) {
            $("#accordion").accordion("activate", index);
        }
    });
});​
$('.content .title').hover(function(e){
    var index = this.textContent.split(/\W/)[1] - 1;    
    $("#accordion").accordion('activate', index);
});
​