从多个地方加载同一个JavaScript库,避免加载问题造成内容出错

这个时代几乎没有几个网站不使用JavaScript了——即使的确有些网站提供了无脚本内容,绝大部分RIA还是需要有脚本支持才能使用的。
但是万一脚本在加载的过程中出问题了怎么办?
如果最基本的脚本库没能正常加载,那整个页面就没法看了。
对这种加载失败的问题,有一种比较容易使用的方法是判断加载的外部脚本是不是已经正常初始化,如果没有正常初始化则重新加载。
判断的方法一般是这样(以jQuery为例): (全文…)

jQuery 函数val()获得换行字节数的差异

设计数据库时varchar(xx)需要定制字段的长度,所以在限制客户端输入文本内容时就涉及到计算用户输入内容的多少问题。

用为使用jQuery配合.net写了一个验证控件,客户端获得文本TextBox值时肯定是$(“#TextBox”).val(),提交后经过服务器端代码验证没通过,老是觉得奇怪,以为是压缩了JS脚本导致JS计算文本长度有异常,今天有时间就逐个拆开调试,发现问题在于jQuery的val(),这回奇怪了,使用document.getElementById(‘TextBox’).value获得值换行占2个字符,而$(“#TextBox”).val()是1个字符,网上GOOGLE一番,得到的结果是:

windows下换行是:\r\n
linux下是:\n

看来jQuery使用的是linux方式获取值,我没细去查jQuery获得值的算法,因为不可能修改jQuery库,劳民伤财影响后期升级,所以使用windows的朋友使用jQuery设计客户端代码判断文本长度时多留意,以免和我一样出现这样的问题。

利用 javascript 过滤 html 等标签 正则表达式

过滤html标签函数,这个函数是过滤整个 code 标签内的 html :

function setContent() {
var obj = document.getElementById(‘code’);
obj.value = obj.value.replace(/<\/?[^>]*>/g,”); //去除HTML tag
obj.value = obj.value.replace(/[ | ]*\n/g,’\n’); //去除行尾空白
//obj.value = obj.value.replace(/\n[\s| | ]*\r/g,’\n’); //去除多余空行
//alert(obj.value);
}

我稍加修改了一下,过滤一个字符串中的html标记:

function setContent(str) {
str = str.replace(/<\/?[^>]*>/g,”); //去除HTML tag
str.value = str.replace(/[ | ]*\n/g,’\n’); //去除行尾空白
//str = str.replace(/\n[\s| | ]*\r/g,’\n’); //去除多余空行
return str;
}

javascript 实现replaceAll方法功能

JavaScript中只有replace方法,并不提供replaceAll方法,再此只能自己写replaceAll方法了。

String.prototype.replaceAll  = function(s1,s2){
return this.replace(new RegExp(s1,”gm”),s2);
}

或者使用

str.replace(new RegExp(s1,”gm”),s2);

(全文…)

JQuery获取和设置Select选项方法

JQuery获取和设置Select选项

获取Select :

获取select 选中的 text :

$(“#ddlRegType”).find(“option:selected”).text();

获取select选中的 value:

$(“#ddlRegType “).val();

获取select选中的索引:

$(“#ddlRegType “).get(0).selectedIndex;

设置select:

设置select 选中的索引:

$(“#ddlRegType “).get(0).selectedIndex=index;//index为索引值

设置select 选中的value:

$(“#ddlRegType “).attr(“value”,”Normal“);

$(“#ddlRegType “).val(“Normal”);

$(“#ddlRegType “).get(0).value = value;

设置select 选中的text:

var count=$(“#ddlRegType option”).length;

for(var i=0;i<count;i++)
{           if($(“#ddlRegType “).get(0).options[i].text == text)
{
$(“#ddlRegType “).get(0).options[i].selected = true;

break;
}
}

清空 Select:

$(“#ddlRegType “).empty(); (全文…)

jQuery 实现自动增长的文本输入框

昨天在与业务人员沟通时,遇到这样一种需求:文本输入框内的字数不能确定,而input type=”text”的size是固定的,当字数超过size时(默认是20),先输入的内容就会从文本框的左端隐藏起来,不便于输入。

为了提高用户体验,我在午休时候想起了是不是可以用jQuery写个插件。想到不如做到,果然,我实现了这个功能。在写这个插件时我潜意识里想到这样的插 件网上应该有人写过,不过我并没有去搜索,你有兴趣可以找一找。下面是插件的源代码。

(全文…)

jQuery学习及应用 —jQuery 核心函数以及 jQuery 对象

一、jQuery 核心函数

首先介绍 jQuery 的几个核心函数,在 jQuery 中它们起着至关重要的作用,在实际的前端开发过程中用到最多的也是它们。

1、jQuery(elements)

将一个或多个DOM元素转化为jQuery对象。

这个函数也可以接收XML文档和Window对象(虽然它们不是DOM元素)作为有效的参数。

返回值:jQuery 对象

参数

elements:  用于封装成 jQuery 对象的 DOM 元素

// 将当前页面的背景色设为黑色 jQuery(document.body).css( "background-color", "black" );

(全文…)

jquery 实现checkbox全选、取消全选

<input type=”checkbox” name=”checkbox_name[]” id=”checkbox_name_1″ />1<br />

<input type=”checkbox” name=”checkbox_name[]” id=”checkbox_name_2″ />2<br />

<input type=”checkbox” name=”checkbox_name[]” id=”checkbox_name_3″ />3<br />

<input type=”checkbox” name=”checkbox_name[]” id=”checkbox_name_4″ />4<br />

<input type=”checkbox” name=”checkedAll” id=”checkedAll”/>全选/取消全选

  1. <script type=”text/javascript”><!–
  2. $(function() {
  3. $(“#checkedAll”).click(function() {
  4. if ($(this).attr(“checked”) == true) { // 全选
  5. $(“input[@name='checkbox_name[]‘]”).each(function() {
  6. $(this).attr(“checked”, true);
  7. });
  8. } else { // 取消全选
  9. $(“input[@name='checkbox_name[]‘]”).each(function() {
  10. $(this).attr(“checked”, false);
  11. });
  12. }
  13. });
  14. });
  15. // –></script>
  16. (全文…)

请问如何过滤HTML标签?

用正则表达式?? /<[^>]*>/?? Replace掉就可以了 (全文…)

jQuery 1.4官方文档中文版发布

jQuery 1.4 发布啦

为了庆祝jQuery的四周岁生日, jQuery的团队荣幸的发布了jQuery Javascript库的最新主要版本! 这个版本包含了大量的编程,测试,和记录文档的工作,我们为此感到很骄傲。

我要以个人的名义感谢 Brandon Aaron, Ben Alman, Louis-Rémi Babe, Ariel Flesler, Paul Irish, Robert Kati?, Yehuda Katz, Dave Methvin, Justin Meyer, Karl Swedberg, and Aaron Quint。谢谢他们在修复BUG和完成这次发布上所做的工作。 (全文…)