这里有个问题。我在谷歌和网站上搜索了几个小时,但找不到解决办法。
我有3个变量,存储类,节或id 。我像下面这样把它们捆绑在一起:
var clickedElement = '$("' + headParentID + parentClass + ' ' + thisNodeName + '")';
clickedElement的值如下:
$("#navigation .logo img")
下一步是使用以下代码查找这个"元素"的x坐标:
var x = clickedElement.offset().left;
问题来了。我在控制台日志中得到以下错误:
Uncaught TypeError: Object $("#navigation .logo.six. "columns img")没有方法'offset'
但是当我使用的输出clickkedelement 并把它放在代码中,就像下面的例子一样,它确实给了我x坐标..
var x = $("#navigation .logo img").offset().left;
有没有jQuery/Javascript英雄可以解开这个谜团?这对我意义重大!
谢谢!
您在这里做的是实际上并没有生成一个jQuery对象。你实际上只是在连接一个字符串:
var clickedElement = '$("' + headParentID + parentClass + ' ' + thisNodeName + '")';
// result (note the quotes surrounding the object:
// clickedElement = '$("#navigation .logo img")'
你要做的是像这样:
var clickedElement = $( headParentID + parentClass + ' ' + thisNodeName );
// result: clickedElement = $("#navigation .logo img")
你得到的错误基本上是说一个字符串对象没有offset()
方法。
您实际上是在字符串上搜索方法.offset()
。
,
var clickedElement = $(headParentID + parentClass + " " + thisNodeName);
var x = clickedElement.offset().left;