5

[解决]

有关问题的详细信息,请参见下文。

线

var maxUl = $(objUl+'[rel="'+maxItems+'"]');

需要是

var maxUl = $(objUl.attr('id')+'[rel="'+maxItems+'"]'); 

与当前的 jQuery 1.8.2 实现一起工作。


首先感谢您花时间与我一起研究我的问题。我已经查看了许多其他问题,并且尽我所能告诉这个问题不一样。

当我尝试在页面上加载 jQuery 插件时,我从 firebug 收到此错误:错误:语法错误,无法识别的表达式:[object Object][rel="7"]

注意:该插件在运行 jQuery 1.4.2 时工作正常,但运行多个 jQuery 实例不是该项目的选项。

我正在尝试实现的插件可以在这里找到并在这里下载

最佳的揣测

到目前为止,我想我已经设法将其缩小到他的 js 文件(jquery.dcdrilldown.1.2.js)中的这两行

// Get level of largest sub menu
var maxUl = $(objUl+'[rel="'+maxItems+'"]');
var getIndex = findMaxIndex(maxUl);

尽我所能在打电话后告诉休息

var maxUl = $(objUl+'[rel="'+maxItems+'"]');

因为萤火虫没有到达findMaxIndex()方法中的断点。

我的 HTML 文件看起来像这样

JS 调用

$(function() { // Drill down menu
  $('#drilldown').dcDrilldown({
    speed           : 'slow',
    saveState       : true,
    showCount       : false,
    linkType        : 'breadcrumb'
});

HTML ul

<div class="graphite dd-container">
<ul id="drilldown">
<li><a href="#">Home</a>
  <ul>
    <li><a href="#">Page 1</a></li>
    <li><a href="#">Page 2</a></li>
    <li><a href="#">Page 3</a></li>
    <li><a href="#">Page 4</a></li>
  </ul>
</li>
<li><a href="#">Products</a>

您能提供的任何帮助将不胜感激,谢谢大家。

4

2 回答 2

6

您需要查看 objUl 的设置。我敢打赌,当您连接到另一个字符串时,它曾经将自己解析为一个字符串。现在它可能不会这样做(因此是 [object Object] 部分)。

查看 objUl 的设置并尝试获取它的 .attr('id') 值。

编辑 更改

var maxUl = $(objUl+'[rel="'+maxItems+'"]'); 

var maxUl = $(objUl.attr('id')+'[rel="'+maxItems+'"]'); 
于 2012-09-27T20:45:13.610 回答
0

要使用 jQuery 1.10.4,进行以下更改使其工作正常

// var maxUl = $(objUl+' [rel="'+maxItems+'"]');
var maxUl = $(objUl.html()+' [rel="'+maxItems+'"]');

//$('#'+idHeader+' a').live('click',function(e){
$('#'+idHeader).on('click','a',function(e){
于 2015-02-28T19:22:27.290 回答