.get mootools 方法在 joomla 1.5 中不起作用

发布于 2024-11-26 04:17:59 字数 285 浏览 1 评论 0原文

我在 joomla 1.5.18 中遇到问题。我正在尝试使用例如从元素获取文本

var divContent = $$('#myDiv').get('text');

,但每次我在 chrome 中收到错误: Uncaught TypeError: Object # has no method 'get';在 Firefox 中:divContent.get 不是一个函数。为什么我会收到此错误?

i have a problem in joomla 1.5.18. i'm trying to get text from an element using for instance

var divContent = $('#myDiv').get('text');

but each time i get the error, in chrome: Uncaught TypeError: Object #<HTMLDivElement> has no method 'get'; in firefox: divContent.get is not a function. why i'm getting this error?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

短叹 2024-12-03 04:17:59

即使在 mootools 中跟踪示例,我也得到相同的结果。

我知道如何对集合中的每个对象执行此操作。我做了 $$('.') 并使用“each”方法:

$('p.classname').each(function (el){
      el.addEvent('click', function() {
          var txt = el.get('text');
          ...
      });
});

显然我将函数添加到 domready 上。我不使用 jquery 因为 mootools & jquery 停止每个事件... -我尝试了一次 &我需要的东西不起作用 - 我希望使用所有 joomla 资源,包括 mootools。

检查 mootools.js 中的版本,它显示 1.13(?)

even following samples in mootools i get the same.

i know how to do it for each object in the collection. i got doing $$('.') and using the "each" method:

$('p.classname').each(function (el){
      el.addEvent('click', function() {
          var txt = el.get('text');
          ...
      });
});

and obviously i add the function onto domready. i don't use jquery 'cause mootools & jquery stops the events each one... -i tried once & what i needed didn't work- and i wish to use all joomla resources including mootools.

checking the version in mootools.js it says 1.13 (?)

安稳善良 2024-12-03 04:17:59

不确定 joomla 1.5.18 中包含哪个版本的 mootools,可能是 1.2.5。如果是这样, .get 应该可以工作,但不会像您期望的那样。

您可能是一位 jquery 用户,习惯于 $("#myid") 并发现在 mootools 中获得与 # 类似的结果的唯一方法是通过 document.getElements代码>,又名<代码>$$。

问题是,要在 mootools 中通过 id 获取单个项目,您实际上需要执行 document.id("mydiv") 甚至 $("mydiv")$$("#mydiv") 实际上会返回具有单个成员的元素集合,因此 [obj],因此真正的元素是 $$( “#mydiv”)[0]

如果将 .get 方法应用于 COLLECTION,则 getter 通常会通过 .each 遍历所有成员并单独执行 get。它将为集合的每个成员返回一个新的数组成员 - 即 ["innertext"]; - 尽管应该有一个用于集合的方法,但请确保该元素在那里,它位于 < code>domready / onload 它是一个唯一的 id。

不过,我会改用 $("mydiv").get("text") ,应该没问题。根据我的经验,这是不阅读手册的 jquery 用户的常见假设。由于 mootools 必须默默地为您处理集合,因此会导致错误且性能不佳的代码。只是说。

not sure which version of mootools comes in joomla 1.5.18, it may be 1.2.5. if so, .get should work but not as you expect it to.

You are probably a jquery user, used to $("#myid") and find that the only way to get similar results with the # in there in mootools is via document.getElements, aka, $$.

the problem is, to get a single item by id in mootools, you actually do document.id("mydiv") or even $("mydiv"). $$("#mydiv") will actually return a COLLECTION of elements with a single member, so [obj], so the real element is $$("#mydiv")[0].

if you apply a .get method to a COLLECTION, the getter normally iterates via a .each through all members and performs the get individually. it will return a new array member for each member of the collection - i.e. ["innertext"]; - though there should be a method for the collection, make sure that the element is there, it's in domready / onload and it's a unique id.

Still, I'd swap to using the $("mydiv").get("text"), it ought to be fine. This is all all too common assumption of jquery users that don't read the manual, in my experience. It results in bad and un-performant code due to all the .each iterations mootools has to silently do to work with the collection for you. Just saying.

我的鱼塘能养鲲 2024-12-03 04:17:59

您还可以(并且应该)将您的 Joomla 升级到最新版本(安全修复等),我相信这是关于 1.5.20 版本的,他们包含了开箱即用的较新版本的 mootools(还有一个 mootools 插件)升级您可以启用)。我相信 1.5.20 中包含的版本类似于 1.2.5 或其他版本...

这可能会有所帮助!

You can also (and should) upgrade your Joomla to the latest version (security fixes, etc) and I believe it was about version 1.5.20 they included a newer version of mootools right out of the box (also there is a plugin for mootools upgrade you can enable). I believe the version included out of 1.5.20 is like 1.2.5 or something...

That may help!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文