【问题标题】:Changing Dom to Jquery [closed]将 Dom 更改为 Jquery [关闭]
【发布时间】:2013-11-26 22:03:21
【问题描述】:

您好,我只是想知道是否有人可以帮我找到一个等效的 dom 值函数以将其转换为 Jquery。

如果我有 DOM 格式的代码:

var x = document.querySelector('#x');

什么会给我同样的价值,但在 Jquery 形式?

我有一个不同的例子是事件监听器,我将如何把这个例子转换成 Jquery,这样它们就可以协同工作并且没有 DOM 的迹象。

例如:

function onmouseup(ev) {
    ev.preventDefault();
   //random code
  }
c.addEventListener('mouseup', onmouseup, false);

任何帮助都会很棒!

【问题讨论】:

  • $('#x')$(c).on('mouseup', onmouseup) ??

标签: javascript jquery node.js dom


【解决方案1】:

对于 jQuery,你可以编写。

var x = $('#x');

x.mouseup(function(e) {
   e.preventDefault();


});

全面了解 jQuery 选择器:http://api.jquery.com/category/selectors/

这是一个 JSFiddle http://jsfiddle.net/6ZBx7/ 的链接,显示了非常基本的用法。如果您在框中键入并按下按钮,您会注意到文本被复制到文本区域。出于演示目的,还添加了另一个清除文本区域的 mousedown 事件处理程序。这是为了展示使用选择器对同一元素使用不同的处理程序。

请注意,ID 在 Html 中不包含“#”。 '#' 选择器告诉 jquery 查找与 ID 匹配的所有元素。同样,您可以使用“。”选择器(即 .myClass)来查找具有特定类的所有元素。

【讨论】:

  • 所以 c.addEventListener('mouseup', onmouseup, false);那时还会保持不变吗?
  • 不,因为 jquery 选择的对象与文档对象不同。您可以使用 addEvent 侦听器,但需要将 jQuery 对象转换回 DomObject。在这里查看绑定定义。 api.jquery.com/bind
  • 看事情是我根本不想要dom的痕迹。这可能吗?
  • 要做到这一点,您必须使用 jQuery 绑定、on、click、mouseup 等来代替您的 Dom 处理程序。我建议使用 jQuery。 JSFiddle 提供了一种简单的方式来加载和编辑 html、javascript 和 css。
  • 我改了 var x = $('#x'); x.mouseup(function(e) { e.preventDefault(); });但现在它无法从 css 访问“#x”文件
【解决方案2】:

第一个:

var x = $('#x')

(但请注意,结果并不完全相同,$(...) 会重新调整包裹在 DOM 对象周围的 jQuery 对象。

第二个:

function onmouseup(ev) {
    ev.preventDefault();
    //random code
}
c.on ("mouseup", onmouseup);

(请注意,这里的 c 必须是一个 jQuery 对象,而不是圆顶节点。要从 DOM 节点创建一个,请使用 var jQUeryWrapped = $(plainDomNode)

【讨论】:

  • 有没有可能完全没有Dom的痕迹
  • 你这是什么意思? jQuery 只封装 DOM 对象,它们当然在那里。如果不使用它的成员,你应该如何使用 DOM 树?
  • @user2990259:是的,关掉你的电脑。
猜你喜欢
  • 1970-01-01
  • 2015-09-20
  • 2015-05-05
  • 1970-01-01
  • 2013-07-21
  • 2013-08-04
  • 2012-12-01
  • 2014-06-19
  • 2015-06-11
相关资源
最近更新 更多