首先感谢最近几多问题,galen的讲解。
1、attr()
attr() 方法设置或返回被选元素的属性值。
设置被选元素的属性和值。
语法
$(selector).attr(attribute,value)
$("#lk_touxiang").attr("href","/Weibo/Templates/"+realName+"头像.jpg");
$("#lk_beijing").attr("href","/Weibo/Templates/B-Class2013.4/"+realName+"/背景.jpg");
$("button").click(function(){
$("#w3s").attr({
"href" : "http:#",
"title" : "W3School jQuery Tutorial"
});
});
<p class="namexs" id="lblwelcome">尊敬的×××欢迎登录。</p>
<p><b id="lblrname">张三</b><br />
<span id="lblclass">管理学院2003级MBA班</span><br />
<span id="lblwork">现任×××公司 人力资源部</span></p>
if (g_login) {
$("#lblwelcome").html("尊敬的" + g_rname + "欢迎登录");
$("#lblrname").html(g_rname);
$("#fdname").html(g_rname);
$("#lblclass").html(g_class);
$("#lblwork").html(g_work);
}
else {
alert("请先登陆!");
window.location = "/friends/";
}
2、encodeURI(咨询) 汉字在ie中无数据显示,在FF chrome可以时。
encodeURI() 函数可把字符串作为 URI 进行编码
$.ajax({
type: "get",
url: "/handler/mentions.ashx?action=keylist&type="+encodeURI(咨询)+"&where=isResponseFlag" + strWhere + "&userid=" + sinaid,
success: function (data, textStatus) {
eval('data=' + data);
json = eval(data.rows);
3、日期在IE中显示nan 其他浏览器ok。slice() indexOf()
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
在本例中,我们将提取从位置 6 开始的所有字符:
<script type="text/javascript"> var str="Hello happy world!" document.write(str.slice(6)) </script>
输出:
happy world!
<script type="text/javascript"> var str="Hello happy world!" document.write(str.slice(6,11)) </script>
输出:
happy
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。
<script type="text/javascript">
var str="Hello world!"
document.write(str.indexOf("ello",4))
document.write(str.indexOf("o",5))// 第二个默认从0开始,写上数字后,从当前索引值所在值开始筛选。在整个字符串的索引值并不会改变。
document.write(str.indexOf("w",5))
</script>
以上代码的输出:
-17
6
for (var i = 0; i < json.length; i++) {
var str_date =json[i].cTime.slice(0,json[i].cTime.indexOf(' '));//从时间字符串索引值0开始,到为空的时候停止读取
str_row = '<dd><a href="Apply.html?campingid=' + json[i].campingId + '">[' + json[i].cType + ']' + json[i].title + '</a>' + '<span class="active">' + str_date+'</span></dd>';
str += str_row;}
ashx【转载自http://www.cnblogs.com/lin614/archive/2008/01/18/1044734.html】
<% @ webhandler language="C#" class="AverageHandler" %>
using System;
using System.Web;
public class AverageHandler : IHttpHandler
{
public bool IsReusable
{ get { return true; } }
public void ProcessRequest(HttpContext ctx)
{
ctx.Response.Write("hello");
}
}
注意了VS2005中Web应用程序项目模板里的Generic Handler 项,发现它是一个.ashx文件,实际上它是一个HttpHandler。后来查了一下.Net SDK文档,发现Asp.Net1.1也支持.ashx,但是没有给出详细内容。
我们都知道,HttpHandler是一个彻底自定义Http请求的方法,它通过web.config来定义Asp.Net运行时来过滤出要自定义的Http请求,发送到定义在web.config的指定类中。
利用.ashx文件是一个更好的方法,这个文件类似于.aspx文件,可以通过它来调用HttpHandler类,从而免去了普通.aspx页面的控件解析以及页面处理的过程。这个文件特别适合于生成动态图片,生成动态文本等内容。
建立方法如下:
首先打开一个Web项目,然后在任意目录下使用VS2003解决方案资源管理器的“添加”–>“添加新项”,在对话框中选择“文本文件”,然后在文件名处输入“TextBuilder.ashx”。
然后在同目录下,使用解决方案资源管理器,使用“添加”–>“添加类”,在类文件名处输入“TextBuilder.ashx.cs”。可以看出,它的文件命名规律与.aspx文件相同。
然后在.cs文件处输入以下代码(名称空间略):
public sealed class TextBuilder : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ClearContent();
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
context.Response.End();
}
public bool IsReusable
{
get { return true; }
}
}
然后在“TextBuilder.ashx”文件的第一行处输入上面这个类的调用代码:
上面的代码需要注意的是:必须在Class项中输入类的完整名称,即包括名称空间及类名称。
最后保存并编译项目。
使用IE测试,输入这个.ashx的地址即可。
大家可以看出Response类有个OutputStream方法,可以向客户端输出二进制数据流,所以在我的项目中,使用这个方法,在一个.ashx中使用DundasChart控件就可以生成非常好的统计图,用它发送二进制数据,方便快捷,而且不需在web.config内输入任何配置代码。
.ashx文件有个缺点,他处理控件的回发事件非常麻烦,比如说如果用它来生成DataGrid的列表也不是不行,但是处理数据的回发,需要一些.aspx页的功能,只有自己手动处理这些功能。所以,一般使用.ashx,用来输出一些不需要回发处理的项目即可。
和舍友也聊过说,因为不明白的太多,导致自己无从下手,没有个整体骨架,问别人别人给讲的时候也会不太明白,不过我现在有点明白,即便不怎么明白,也撕开了一道学习的口子,可以从这个稍稍明白的地方查他所用的知识点(我了个去好久没用咯知识点这个词儿了)。然后慢慢延展。会有个概况的。就像是一点一点的渗透了。
于是,没有整体的框架也要问。这回逼迫着你尽快的利用别人讲的知识点,建立起自己的骨架。 不过我想,以后会发现这个骨架太过松散,还是会推倒重新来过。现在要多啃块骨头,以后才会有快速建立自己的骨架。