这里有问题。一直在谷歌和网站上搜索几个小时,但找不到解决方案。
问题
我有3个变量,存储类,部分或ID 。我将它们捆绑在一起如下:
var clickedElement = '$("' + headParentID + parentClass + ' ' + thisNodeName + '")';
clickedElement 的值如下:
$("#navigation .logo img")
下一步是使用以下代码找到此'元素'的x坐标:
var x = clickedElement.offset().left;
这就是问题所在。我在控制台日志中收到以下错误:
未捕获TypeError:对象$(“#navigation .logo.six.columns img”)没有方法'offset'
但是当我使用 clickedElement 的输出并将其放在代码中时,如下例所示,它确实给了我x坐标..
var x = $("#navigation .logo img").offset().left;
任何jQuery / Javascript英雄都可以解决这个谜团?这意味着很多!
谢谢!
答案 0 :(得分:3)
你在这里做的是实际上并没有生成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()
方法。
答案 1 :(得分:2)
您实际上是在字符串上搜索方法.offset()
。
尝试,
var clickedElement = $(headParentID + parentClass + " " + thisNodeName);
var x = clickedElement.offset().left;