Tag: 这个

jQuery $(this).next()没有按预期工作

我正在尝试创建一个由hover事件触发的简单下拉列表。 为了节省编写代码,我想利用$(this)选择器,但是当我尝试将$(this)下一个’a’元素作为目标时,我一直遇到问题。 有没有人知道在使用$(this)选择器时对此进行编码的正确方法? 在下面的代码中,如果我将$(this).next(’a’)更改为$(’。base a’),代码工作正常但是我必须每次想要编写相同的jQuery代码块每次使用不同的类选择器使用此function。 Jquery代码: var handlerIn = function() { var t = setTimeout(function() { $(this).next(‘a’) <==== Problem is here .addClass('active') .next('div') .animate({'height':'show'}, {duration:'slow', easing: 'easeOutBounce'}); }, 400); $(this).data('timeout', t); } ; var handlerOut = function() { clearTimeout($(this).data('timeout')); $(this).next('a') <==== Problem is here .removeClass('active') .next('div') .slideUp(); }; $('.base').hover(handlerIn, handlerOut); HTML代码: 所以我也试过没有运气……任何想法: var handlerIn = […]

如何在jquery中引用外部的“$(this)”?

假设我有这样的代码: $(‘.myClass’).each(function(){ $(‘#’ + $(this).attr(‘id’) + “_Suffix”).livequery(‘click’, function(){ doSomething($(this)); }); }); 我传递给doSomething函数的$(this)是第二个 jquery括号中的内容 – $(‘#’ + $(this).attr(‘id’) + “_Suffix”) 。 我如何引用第一个括号中的内容 – 这引用的原始内容是什么? ( $(‘.myClass’).each ) 我假设我可以将它保存到变量中,然后使用该变量: $(‘.myClass’).each(function(){ outerThis = $(this); $(‘#’ + $(this).attr(‘id’) + “_Suffix”).livequery(‘click’, function(){ doSomething($(outerThis)); }); }); 但有没有办法在不这样做的情况下引用它?

对javascript中的’this’关键字感到困惑

我很长一段时间没有使用过Javascript,今天就一直在刷新自己。 总是有一件事我是this关键字。 我知道在jQuery事件处理程序中,例如click事件, this指的是触发事件的元素。 this是如何传递给我作为回调给它的函数,即使我的函数没有参数? 给出以下代码: $(“tr.SummaryTbRow”).data(“Animating”, false); $(“tr.SummaryTbAltRow”).data(“Animating”, false); $(“tr.SummaryTbRow”).click(function () { if ($(this).data(“Animating”) == false) { if ($(this).next(“.Graph”).css(“display”) == “none”) { $(this).data(“Animating”, true); //Part I am questioning. setTimeout(function () { $(this).data(“Animating”, false); }(this), 550); $(this).next(“.Graph”).slideRow(‘down’, 500); } else { $(this).data(“Animating”, true); $(this).next(“.Graph”).slideRow(‘up’, 500); } } }); 我试图弄清楚如何将类SummaryTbRow的元素表行SummaryTbRow给我的setTimeout回调函数。 jQuery是否通过我的匿名回调function以类似的方式传递了this ? 我的thisfunction是否参考了我传入的内容? 我知道我可以这样做: setTimeout(function (element) […]

我可以在jQuery中添加更多“this”吗?

我正在编写一个脚本,当你将鼠标hover在图像上时,它会淡入和淡出图像和图像后面的div。 我有两个问题: 即使我将它们设置为,图像和div上的淡入淡出似乎也没有以相同的速度移动。 我无法弄清楚如何让div只显示你hover的图像。 如果我可以键入(“this”div.info)作为对象,它将正常工作。 有没有办法做到这一点? 我无法获得$(“.info”,this) , $(this).find(“.info”)或$(“.info”, $(this).closest(“li”))上class。 结果:我找到了解决方案。 我能够通过使用lthibodeaux的建议并使用$(“.info”, $(this).closest(“li”))作为对象并创建所有函数.fadeTo使其工作.fadeTo到此处获取结果: http ://jsfiddle.net/Z5p4K/7/ 编辑: 我发现图像和div动画确实以相同的速度移动,只是图像只在hover时设置了z-index,所以如果你在动画运行时将鼠标从图像中移开,它会显得移动当div真正在div后面时,它的速度与div不同,它似乎只是以不同的速度移动,因为当div变得不可见时你可以看到它背后的图像但是当它变得不透明时,图像就消失了(制作你认为当div真正在图像前面时,图像变得不可见了。 通过将z-index属性从ul.columns li:hover img到ul.columns li img可以很容易地解决这个问题。 当你在它上面盘旋时,div只有一个边界。 通过将ul.columns li:hover .info的边框属性更改为ul.columns li .info ,可以轻松解决此问题 在这里查看最终版本: http : //jsfiddle.net/tV9Bw/ 这是最终版本,因为我再也找不到任何代码的任何问题; 一切都经过优化,没有任何故障,看起来很棒。 感谢所有回答的人和易江编辑这篇文章的格式更好。 我是这个网站的新手,所以我不确定如何正确格式化我的问题。 并且非常感谢artyom.stv修复脚本中的最后一个故障,我不知道如何修复。

如何在$ .ajax的成功回调中传递$(this)

我已经看到了访问$(this)的几个不同的例子是ajax的成功回调但没有给我我想要的答案 – 他们都在ajax函数中访问$(this),我想将$(this)传递给a单独的function。 因此,如果有2个文本框需要validation $(“#tb1”).focusout(function(){ $.ajax({ type:’POST’, url: ‘validURL’, data: {various_parameters}, contentType: ‘application/json; charset=utf-8′, dataType:’json’, success: function(data){ validInput(data, $(this)); }, error: error }); } $(“#tb2”).focusout(function(){ $.ajax({ type:’POST’, url: ‘validURL’, data: {various_parameters}, contentType: ‘application/json; charset=utf-8′, dataType:’json’, success: function(data){ validInput(data, $(this)); }, error: error }); } function validInput(response, obj){ console.log(response.d); console.log(obj.val()); }; 当我运行代码时,我得到了响应的正确值。但是出现了错误:jquery-1.11.1.min.js:4未捕获的TypeError:无法读取obj.val()的undefined属性’toLowerCase’。 难道我做错了什么? 谢谢你的帮助。 请参阅:DOS /运行

如何在单击jQuery函数中正确传递$(this)

我想在jQuery中创建一个tictactoe项目,我遇到了一个重大问题…… 瓷砖在 标签中,我试图使其成为当用户点击瓷砖时,它调用“标记”function。 如果我们现在查看“标记”函数, $(this)应该是调用函数的 节点。 但是,它没有做任何事情,所以我检查了控制台,显然$(this)包含DOM Window对象。 无论如何我可以将正确的$(this)发送到“标记”function吗? 谢谢! var TURN_X = false; var TURN_O = true; var turn = false; // this is to see whos turn it is. $(document).ready(function(){ var listCells = $.makeArray($(“td”)); $(“td”).click(function(){marked(listCells)}); //THIS IS WHERE I HAVE PROBLEMS return false; }); function marked(arr) { console.log($(this)); // THIS CONSOLE LOG RETURNS […]

当在componentDidmount中使用与jquery的反应时,this.setState()不是函数

当我使用es6和jquery的ajax函数时,我得到了this.setState() is not a function错误。 我尝试使用this.componentDidmount = this.componentDidmount.bind(this);在构造函数中绑定它this.componentDidmount = this.componentDidmount.bind(this); ,但仍然没有工作。 谁能帮我? 谢谢! 这是我的代码: import React from ‘react’; import $ from ‘jquery’; class UserGist extends React.Component { constructor(props) { super(props); this.state = { userName: ”, lastGistUrl: ” }; } componentDidMount() { this.serverRequest = $.get(this.props.source, function(result) { let lastGist = result[0]; this.setState({ userName: lastGist.owner.login, lastGistUrl: lastGist.html_url […]

jQuery $(this)语法问题

这是一个有效的选择器吗? 如果没有,那么正确的方法是什么? $($(this)+’ childElement’)….

jQuery $(this).find()和$(selector,this)不起作用

我无法让jQuery的$(this)函数按预期工作……或者更确切地说,可以工作。 据我所知,两者兼而有之 $(‘.chamber’).each(function(){ $(this).find(‘.cell’).slice(0,19).css(‘background-color’,’red’); }); 和 $(‘.chamber’).each(function(){ $(‘.cell’,this).slice(0,19).css(‘background-color’,’red’); }); 应该做同样的事情:在每个.chamber选择前20个(或19?)。 .chamber ,然后将它们变成红色。 不幸的是,实际发生的是它们都抛出相同的错误: Uncaught exception: ReferenceError: Undefined variable: YName Error thrown at line 19, column 8870 in (W, U, V, T, Z, aa) in jquery-1.3.2.min.js: if(Z^(YName&&(” “+YName+” “).indexOf(W)>=0)) called from line 19, column 3944 in (ad, ac, ag, W) in jquery-1.3.2.min.js: Y=I.preFilter[ab](Y,aa,ag,ai,W,Z); called from line […]

Javascript static / singelton – 这与vs _this vs对象名称

这是关于性能和最佳实践的问题。 假设我有一个封装了大量辅助方法的js对象。 该对象被视为静态类,这意味着它永远不会被实例化,并且它的所有方法基本上都是辅助方法。 当使用事件和jQuery时,对象的this范围不断变化,因为它有相当多的方法,我想知道什么是最佳实践 – 在每个方法的开头将其保存到_this中,或者只使用对象名称MyObject 。 多年来,我一直在做两件事,当涉及到singelton /静态物体时,但我认为必须有一个最佳实践,而且是采用最佳方法的时候了。 我目前的研究表明,使用_this而不是直接调用MyObject所带来的好处主要是这两个: 如果对象的名称发生变化, _this将始终有效 可能更快(虽然没有看到性能测试结果),因为浏览器保持在相同的范围内,并且不需要每次都找出MyObject的范围。 使用MyObject优点: 少写代码。 垃圾收集管理? (分配的变量较少) 对于一些开发人员来说可能更具可读性(其中多个适用) 因为MyObject将始终有效,所以更容易重构代码 我想知道是否有一种全局保存_this (仅在对象的范围内)并避免在每个方法的开头分配它。 如果不是 – 我是否还有其他优缺点,或者直接调用对象名称被认为是不好的做法。 这是一个简化的参考对象(真实对象有更多的方法)。 var MyObject = { init: function() { this.registerEvents(); //other stuff }, registerEvents: function() { this.registerOnSomeEvent(); //registering more events.. //… }, registerOnSomeEvent: function() { var _this = this; jQuery(‘#someid’).click(function() { _this.doSomething();//option […]