Articles of jquery

阻止使用迭代的JavaScript嵌套callback

目前我使用的承诺,以防止在我的代码嵌套callback的需要,但我已经遇到挫折。 在这种情况下,我使用节点的request-promise和cheerio来模拟服务器上的jQuery。 不过,在某些时候,我需要调用jQuery.each()来为每个<a>元素创build一个请求。 有没有什么办法可以使用promise来防止这种嵌套的callback? request("http://url.com").then(function (html) { var $ = cheerio.load(html); var rows = $("tr.class a"); rows.each(function (index, el) { //Iterate over all <a> elements, and send a request for each one. //Can this code be modified to return a promise? //Is there another way to prevent this from being nested? request($(el).attr("href")).then(function (html) { var […]

通过forEach参考

这里是我的问题的一些代码: var jsdom = require('jsdom'); var content = '\ <p>\ <img src="assets/logo">\ <img src="assets/background">\ </p>\ '; jsdom.env(content, function (error, window) { var $ = require('jquery')(window) var elements = $.find('img'); elements.forEach(function(imageElement) { var src = $(imageElement).attr('src') + '.jpg'; $(imageElement).attr('src', src); // print "assets/logo.jpg" and "assets/background.jpg" console.log($(imageElement).attr('src')); }); console.log(content); }); 我想要做的是将每个img元素的src内容更改为assets/logo.jpg和assets/background.jpg 。 任何人都可以build议我,我必须做什么,以便将content更改为: <p><img src="assets/logo.jpg"><img src="assets/background.jpg"></p> ?

失去与async.waterfall范围

我在JavaScript新,所以这可能是微不足道的。 我试图根据Node JS / Restify的asynchronous模块的瀑布方法来运行一系列函数。 这种方法的主要优点是可以将当前callback的“结果”传递给下一个等等,从而有可能打破“瀑布”并运行下一个中间件。 如文档中所述,它的参数是一组函数和最后一个中间件。 所以我根据下面的代码设置我的function,然后调用 var fn1 = function(callback){ console.log(req.params.user_id); callback(null, req.params.user_id); }; var fn2 = function(user_id, callback){ console.log(user_id); callback(); } server.get('/:user_id', function(req, res, next){ async.waterfall([fn1, fn2], function(err, result){ next(); }) }, …(next middleware) ) 而我没有得到预期的结果,因为req对象没有被定义。 但是,当这样做: server.get('/:user_id', function(req, res, next){ async.waterfall([ function(callback){ console.log(req.params.user_id); callback(null, req.params.user_id); }, function(user_id, callback){ console.log(user_id); callback(); } […]

(Browser-as-Client)$ .ajax上的HTTP 405发布到Node服务

背景 首先,我有一个运行在Node上的Restify服务,当我使用一个GUI HTTP客户端时,它是完美的。 我只是说,以前强调,这是一个以浏览器为中心的问题。 如果需要服务器端的解决scheme,它是适应浏览器… 以下是使用我的Restify Web服务和GUI HTTP客户端的100%functionHTTP请求和响应: 要求 – POST /appointments HTTP/1.1 Content-Type: application/json Accept: application/json Host: localhost:8085 Connection: close User-Agent: Paw/2.1.1 (Macintosh; OS X/10.10.1) GCDHTTPRequest Content-Length: 142 { "eventName": "Fiesta Forever", "time": "Fri Dec 19 2014 15:55:00 GMT-0600 (CST)", "phoneNumber": "13125555555" } 回应 – HTTP/1.1 201 Created Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, […]

与node.js中的特定用户聊天

这是我与所选用户进行私密聊天的代码。 它不会像私人信息一样向选定的用户发送信息。 服务器端: var fs = require('fs'), http = require('http'), sio = require('socket.io'); var server = http.createServer( function(req, res) { if (req.url === '/index') { fs.readFile('./index.html', function(err, page) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(page); res.end(); }); } else if (req.url === '/karthick') { fs.readFile('./karthick.html', function(err, page) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(page); res.end(); }); } else if […]

让div溢出-y从底部开始滚动

我有一个div的内容被添加到它。 它是可滚动的,我想从底部开始滚动,并在每次添加新的项目时更新。 我试过了: var divName = document.getElementById("divId"); divName.scrollTop = divName.scrollHeight; 这不起作用,但是,当我console.log divName.scrollTop在最后,它仍然是0,因为它在开始。 如果有帮助,我使用meteor。

将服务器端variables发送到客户端node.js和socket.io

我要问一个真正的问题。 因为我一直在阅读文档,并在这里挖掘,而它只是没有进入我的大脑。 我正在学习这个教程: http : //socket.io/get-started/chat/ 我想知道如何在服务器端设置variables的值,并将该值传递给客户端,以提醒。 我知道这是错误的,因为alert(alertMsg); 回来undefined,但这是我的出发点: 服务器端: var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); var fs = require('fs'); var port = process.env.PORT || 3000; var alertMsg = 'alert message goes here'; app.get('/', function(req,res){ res.sendFile(__dirname + '/index.html'); }); io.on('connection', function(socket){ console.log('a user connected'); socket.on('connect', function(alertMsg){ io.emit('alert: ' + […]

如何在EJS中附加jQuery?

这对我来说是一个沉重的打击。 我不能在EJS内部本地运行jQuery吗? 我一直在阅读很多,但找不到真正有用的资源。 比方说,我只是想使用jQuery从EJS模板login,我将如何实现? 说我们有这个片段: <script> $( document ).ready(function() { console.log( "ready!" ); }); </script> 我把它放在我的footer.ejs文件中,我使用的是EJS标签。 但它不logging。

尽pipe存在服务,但不注入依赖项

所以我一直在做Angular.js项目一段时间,现在将在竞争中使用,并在一半的时间,我意识到我需要一个插件系统dynamic加载一些必要的代码在运行时。 到目前为止,我发现angular.js并不是很适合在运行时加载服务。 由于代码只能在比赛时间提供给竞争对手,我只能提供一个不成功的例子。 // ex1.coffee mainModule = angular.module('mainModule') mainModule.service('needed', () -> @neededFunc() -> console.log "just an example" return this mainModule.service('ex1', ($injector) -> @loadFile = (u, pluginName) -> $.ajax dataType: "script", url: u, data: null, success: (jqxhr, textStatus) => $injector.invoke([pluginName, (plugin) => plugin.testFunc() error: (jqxhr, textStatus, errorThrown) -> console.log "couldn't find the script" return this // […]

Node.js – 未定义:0语法错误:意外的input结束

用Node.js和Backbone.js来弄湿我的脚。 我正在使用“Backbone Blueprints”这本书,他提供的一些代码来设置networking服务器似乎不起作用。 我有Node.js安装和运行(我知道这个工程)。 他的package.json代码似乎有诀窍,但我会在下面发布它以防万一: { "name": "simple-blog", "description": "This is a simple blog.", "version": "0.1.0", "scripts": { "start": "nodemon server.js" }, "dependencies": { "express": "3.xx", "ejs": "~0.8.4", "bourne": "0.3" }, "devDependencies": { "nodemon": "latest" } } 这是我试图打开服务器时出错的server.js代码: var express = require('express'); var path = require('path'); var Bourne = require("bourne"); var app = express(); var […]