微信开发-技术文档(3)10.23-10.28.md

mongodb条件查找:

var condition = { me:iid, unread:{ $gt:0}};
Friend.find(condition).exec(function (err, docs)```

####jquery获取父级元素的方法
```js
$("id").parent()```

####查找元素时,检测是否找到
```js
//查找table底下有几个a标签  
alert($("table").find("a").size());

jQuery常用的元素查找方法总结

socket.emit()的调用顺序

因为是异步调用,因此在执行函数的顺序中遇到问题,因为调用重写函数比较麻烦,此处采取比较偷懒的设置延时方法。

setTimeOut(function(){},1000);```

即时通讯发送图片消息原理:上传图片到服务器,把url发送给接受者,

### 在文章中创建新节点、新片段
[createElement与createDocumentFragment的区别](http://www.cnblogs.com/xesam/archive/2011/12/19/2293876.html)  
区别:
createElement是创建一个新的节点,
createDocumentFragment是创建一个文档片段。
第一:
createElement创建的元素可以使用innerHTML,createDocumentFragment创建的元素使用innerHTML并不能达到预期修改文档内容的效果,只是作为一个属性而已。两者的节点类型完全不同,并且createDocumentFragment创建的元素在文档中没有对应的标记,因此在页面上只能用js中访问到。也就是说创建文档片段之后,不会在html上显示。
第二:
另一个最主要的区别就是createElement创建的元素可以重复操作,添加之后就算从文档里面移除依旧归文档所有,可以继续操作,但是createDocumentFragment创建的元素是一次性的,添加之后再就不能操作了(说明:这里的添加并不是添加了新创建的片段,因为上面说过,新创建的片段在文档内是没有对应的标签的,这里添加的是片段的所有子节点)。也就是说只能添加不能移除,因为没有对应刻意除的东西
[element与DocumentFragment辨析demo](http://www.cnblogs.com/xesam/archive/2011/12/19/2293876.html)

###添加qq表情
(使用qqface插件)[http://www.jq22.com/jquery-info365]
HTML:
首先在html页面的head中引入jQuery库文件和QQ表情插件jquery.qqFace.js文件。
由于jquery 1.9.0 以上版本 jquery去掉了对 $.browser 的支持,采用$.support 来判断浏览器类型。导致之前的很多插件报错 。
我们采取的思路是使用jquery的继承机制对jquery 1.11.1版本进行扩展 使其支持 $.browser 方法,已达到兼容之前组件的目的.低于jquery 1.9.0版本的用户可以不调用。

```html
<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
<script src="/public/javascripts/jquery-browser.js"></script>
<script type="text/javascript" src="jquery.qqFace.js"></script>

JS:
在脚本中添加qqFace触发事件,以及表情转码为图片函数

<script type="text/javascript">

$(function(){
 $('.emotion').qqFace({
 id : 'facebox', 
 assign:'saytext',   //给输入框赋值 
 path:'arclist/'     //表情图片存放的路径
 });
 //转换表情代码并显示
 $(".sub_btn").click(function(){
 var str = $("#saytext").val();
 $("#show").html(replace_em(str));
 });
});

//查看结果

function replace_em(str){
 str = str.replace(/\</g,'<');
 str = str.replace(/\>/g,'>');
 str = str.replace(/\n/g,'<br/>');
 str = str.replace(/\[em_([0-9]*)\]/g,'<img src="arclist/$1.gif" border="0" />');
 return str;
}
</script>

http.response.end方法使用说明

方法说明:
结束响应,告诉客户端所有消息已经发送。当所有要返回的内容发送完毕时,该函数必须被调用一次。
如何不调用该函数,客户端将永远处于等待状态。

response.end([data], [encoding])
接收参数:
data end()执行完毕后要输出的字符,如果指定了 data 的值,那就意味着在执行完 response.end() 之后,会接着执行一条 response.write(data , encoding);
encoding 对应data的字符编码

在可编辑div中,添加图片

div有一个属性 contenteditable,当这个属性为true时,此层可编辑;当这个属性为false时,层不可编辑。当层可编辑的时候,就像textarea了,但是,当输入的文字的行数多的时候,层会自动加高,这样给这个层加上 overflow:auto;属性。

实现拖拽上传图片的实现思路

mongodb条件嵌套查询

db.example.find({ '$or':[ {'$and':[{'example.a'{'$gt':1}},{'example.b':{'$gt':2}}]},
{'$and':[{'example.c':{'$gt':3}},{'example.d':{'$gt':4}}]}]})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,570评论 1 19
  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,466评论 0 44
  • 不知是出于什么样的原因 我很放心的往外走 不曾在意电话那头的叮嘱 以为自己要去那最远的彼端 不去看故乡的轮廓 打包...
    矣以呀阅读 240评论 0 0
  • 结果发现,天啦噜!竟然是一只木狗!
    小女巫惠惠阅读 600评论 0 1