Tag: 这个

jQuery this.href字符串比较不起作用

我有一个简单的jQuery脚本,我正在尝试构建,但我不能让href字符串比较返回true: Click Me​ 我的脚本如下: $(‘.test’).click(function() { if ($(this).href == “https://stackoverflow.com/Services/Cloud-Hosting”) { alert(‘hi’); } else { alert(‘no’); } });​ 即使href是相同的,我仍然会收到’不’的警报。 我错过了什么?

从其他函数访问“this”类型JavaScript变量

我有一个事件触发,即使它在我试图访问变量的函数内部,我得到Uncaught TypeError: Cannot read property ‘…’ of undefined 。 所以,让我们说: ( function($) { $.fn.main = function() { this.setting = 1; $(“#someElement”).scroll( function() { console.debug(this.setting); } ); } } )(jQuery); 我确定它与时间有关,但话又说回来,我可能是错的。 我应该复制一份并将其公之于众吗? 任何人? 谢谢。

jQuery中的javascript’this’范围

我刚刚将一段作为对象文字的代码转换为类,并且在jQuery $.each()循环中遇到了范围问题。 说我上课了…… var myClass = function(var1) { this.var1 = var1; } myClass.prototype.myFuncion = function() { var context = this; $.each(this.var1, function() { context.myOtherFunction() //is there any way of accessing ‘this’ from here? }) } 我想知道如何从每个内部访问类上下文? 我知道我可以在循环之外定义变量,但这是首选方法吗?

单击function,css仅在此项目上添加类

我有一个图像为灰色的网格,在hover图像时会变色(图像无法设置为背景图像以供参考)。 当hover图像时,会出现一个文本, click此处,我有一个切换内容。 这是我的两个问题: 1在切换时,只有项目图像有点击应该着色,实际上它们都会不幸地变色。 (测试secodn行的第一项) 我试图使用$(this).prev但没有成功。 (见代码) //** HERE THE TOGGLE FUNCTION **/ $(‘#toggle’).click(function() { $(‘.toggle’).slideToggle(‘fast’); return false; }); $(‘#toggle’).click(function() { $(‘.toggleaction’).addClass(‘current’); if($(‘.toggleaction’).toggleClass(‘current’)){ $(‘.hide’).toggleClass(‘displayon’); $(‘img.grayscale’).css(‘-webkit-filter’, ‘grayscale(0%)’); } }); – 编辑: 通过替换得到它: $(‘#toggle’).click(function() { $(‘.toggle’).slideToggle(‘fast’); return false; }); $(‘#toggle’).click(function() { $(‘.toggleaction’).addClass(‘current’); if($(‘.toggleaction’).hasClass(‘current’)){ $(‘.hide’).addClass(‘displayon’); $(‘img.grayscale.oui’).toggleClass(‘color’); } }); 2 /如果我添加更多切换部分,单击一个,它们都不会出现。 .. 任何帮助都会令人难以置信!!!! 如果您有任何建议,请让我知道 :) 要查看完整的代码: http://codepen.io/anon/pen/KNRBQX – […]

“this”在以下javascript中引用了什么?

免责声明:我问的是具体用途,而不是一般用途。 所以,请不要谷歌/复制/粘贴速度答案(: 我有以下javascript / jquery代码: var req = {}; function getData() { var fromPage = 0; var toPage = 1; req = $.ajax({ url: “/_vti_bin/lists.asmx”, type: “POST”, dataType: “xml”, data: xmlData, complete: onSuccess, error: function (xhr, ajaxOptions, thrownError) { alert(“error: ” + xhr.statusText); alert(thrownError); }, contentType: “text/xml; charset=\”utf-8\”” }); req.fromPage = fromPage; req.toPage = toPage; […]

jQuery插件,context和setTimeout

我正在为jQuery编写一个插件,我在javascript中遇到了上下文问题。 这是我的插件的简化版本: (function($){ $.fn.myplugin = function(options){ return new MyPlugin(this, options); }; function MyPlugin(el, o ) { this.root = el; this.input_box = el.find(‘#the_input’); this.map = null; this.timeout = null; var self = this; self.input_box.keyup( function(){ if( self.timeout!==null ) { clearTimeout( self.timeout ); } self.timeout = setTimeout( function(){ self.search_address( self ); }, 500 ); }); } MyPlugin.prototype […]

为什么javascript“this”不适用于“each”?

我正在尝试在检测到它具有”true”的data-voted属性时为一个元素分配一个类,但是简单的addClass行不起作用。 我使用$(this)直到我为each()读取jQuery的文档,然后切换到以下内容: windowReady = -> jQuery -> $voteLinks = $(‘.vote-button a’) $voteLinks.each (i, current) -> if $(current).data(‘voted’) == “true” $(current).addClass(‘voted’) $(window).load(windowReady); $(window).on(‘page:load’, windowReady); $(this) windowReady = -> jQuery -> $voteLinks = $(‘.vote-button a’) $voteLinks.each -> if $(this).data(‘voted’) == “true” $(this).addClass(‘voted’) $(window).load(windowReady); $(window).on(‘page:load’, windowReady); 但即便如此我仍然没有指定一个类,即使我已经确认它确实具有”true”的data-voted属性 CoffeesSript可以在js2coffee转换为Javascript。

我如何在jQuery上引用该对象?

我正在创建一个脚本,每个函数内部都有一个ajax调用。 问题是,在从ajax调用成功回调时,我想使用我们在每个函数中使用的对象。 编辑:这是我的一些代码: configs={ general:{ max_ads:6}, logs:{ selector:”div#MicrodualGetAd-debug”}, connection:{ type:”POST”, url:”http://www.microdual.com/api/microdualgetad”, cache:false, timeout:20000, dataType:”json”, data:{ adget_id:null, adget_session:null, client_action:null}, error:function(r,s,e){ MicrodualGetAdLog(“Ajax-Error: “+s+”\n”); } } }; $(“div.MicrodualGetAd”).each(function(){ configs.connection.data.adget_id = $(this).attr(“rel”); configs.connection.data.client_action = “view”; configs.connection.data.success = function(d,s,r){ $(this).hide(); alert(“‘OK'”); if(d.hackattemp.status){ MicrodualGetAdLog(“MicrodualGetAd-Error: “+d.hackattemp.msg+”\n”); $(this).append(d.hackattemp.msg); } } $.ajax(configs.connection); });

Coffeescript – ‘this’总是被胖箭头回调中的’_this’取代

我想知道有可能以某种方式阻止this关键字被转换成_this内部胖箭头回调( => )? 例如: class someClass someMethod: -> $(document).on ‘click’, ‘.myclass’, (e) => # doing things with right context this, it’s ok @anotherMethod() @oneMoreMethod() # but here I need jQuery “this“ pointing to element $el = $ this # this is transformed into “_this“ 🙁 也许我错过了一些选项或运营商? 更新我知道像self = this的伎俩,但我认为CS有更优雅的东西..

一个函数中的jQuery removeClass和addClass

我有以下菜单: My Profile Search Favorites 和我的函数(加载在标题中的.js文件中): function loadTab() { jQuery(“.navitem”).removeClass(“active”); jQuery(“.navitem”).click(function () { jQuery(this).addClass(“active”); }); } 删除“活动”类工作,将“活动”类添加到单击的元素不起作用。 有任何想法吗? 最好的祝福!