js数组,删除一个项。
遍历循环找到resultArray[i] == "删除项",
然后通过resultArray.splice(i,1);
jsArray.splice(参数1,参数2,[参数3]);
参数1,为必填,开始位置,即数组下标。
参数2,删除几个
参数3,替换的新项,
for(var i=0; i<resultArray.length; i++){
if(resultArray[i] == "dodolook"){
resultArray.splice(i,1);
}
}
--
var resultArray = ["taiwan", "nanjing", "xinyang", "shanxi", "yunna", "dali", "shenyang"];
resultArray.splice(3);//只有一个参数,删除这个下标以后的所有项
resultArray.splice(3,2);//删除以第一个参数下标开始,长度为第2个参数的项
resultArray.splice(3,2,("wuhu"));//只有一个参数,删除这个下标以后的所有项,并替换为第三个参数。
--
代码
<div id="ulBox">
<input type="checked" >item1
<input type="checked" >item2
<input type="checked" >item3
<input type="checked" >item4
<input type="checked" >item5
<input type="checked" >item6
</div>
设置为未选中状态的代码,如设置为选中,则改变checked = true;
function checkedBoxToggle(){
var nodelist = $("#ulBox input");
for(var i = 0; i<nodelist.length; i++){
nodelist[i].checked = false;
}
}
--、、
function promptText(id,m){
$("#"+id).val(m).css("color","#999999");
dodolook(id,m);
}
function dodolook(id,m){
$("#"+id).bind("focus",function(){
if($(this).val() == m){
$(this).val("").css("color","#333333");
}
})
$("#"+id).bind("focusout",function(){
if($(this).val() != ""){
$(this).val();
}else{
$(this).val(m).css("color","#999999");
}
})
}
获取页面中一个未知高度的div的高度,页面高度随内容动态增加。由于这个放置内容的div本身没有定义height,
所以无法通过 document.getElementById(elemenetID).style.height; 来抓取!
可以通过scrollHeight属性来获取可见高度 : document.getElementById(elemenetID).scrollHeight;
clientHeight
大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。
offsetHeight
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。
scrollHeight
IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。
NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。
简单地说
clientHeight 就是透过浏览器看内容的这个区域高度。
NS、FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。
IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight 则是网页内容实际高度。
同理
clientWidth、offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。
重要说明
以上是在没有指定 DOCTYPE 的情况下,如果指定了 DOCTYPE,比如:DTD XHTML 1.0 Transitional,则意义又会不同,在这种情况下这三个值都是同一个值,都表示内容的实际高度。新版本的浏览器大多支持根据页面指定的 DOCTYPE 来启用不同的解释器。
获取一个DIV或者表格的宽度高度!
offsetWidth 包括 border 的宽度
clientWidth 不包括 border 的宽度
一切就是这么简单与自然!
未结束的字符串常量,解决办法!
今天在做JAVASCRIPT的时候,发现老是出现”未结束的字符串常量”.
自己找了下应该是传参数的时候,有特殊字符引起的.网上也找了下,也有好多出现这种情况.做下总结,以方便以后查阅.
1.JAVASCRIPT引用时,使用的字符语言不一致.
比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.xxx.js文件内部使用的是GB2312的格式,外面调用使用的是UTF-8,所以文件内部部分特殊字符因为格式不一致,出现乱码,造成此原因.
2.JAVASCRIPT输出HTML字符时,前后标记不匹配.
这种比较常见,往往在输出字符串时,出现单引号(‘)或双引号(“)不配对,或者是在document.write()的时候,没有正确输出单引号(‘)或双引号(“)
3.参数内出现HTML标记语言或包含换行符
我今天所遇到的是这种情况.因为我所得到的数据以参数形式传给一函数,结果该数据里包含换行符,造成了此错误.
如:一般测试时只使用单行的数据,是正常的,未出现这个错误,.
当测试时使用多行数据,并使用回车链换行,就出行了此错误.因为里面包含了换行符
对于第3种情况,我的解决方法是:不直接将该数据以参数形式传递,而是先将其赋值在一个隐藏的文本内,需要调用的函数里只需读取该文本里的内容即可.
--
function delayRequest(id, delay, interva) {
var nowTime,keydowmTime, keyupTime, delayRequestParameter, thisValue, element,handle;
element = $("#" + id);
$(element).keydown(function () {
keydowmTime = new Date().getTime();
nowTime = keydowmTime;
}).keyup(function () {
keyupTime = new Date().getTime();
});
$(element).focusout(function () {
clearInterval(handle);
}).focusin(function () {
handle = setInterval(function () { checkIntervalTime(new Date().getTime()); }, delay);
});
function checkIntervalTime(nowTime) {
if ((nowTime - keyupTime) > interva) {
if ($(element).val() != "" && $(element).val() != delayRequestParameter) {
//调用ajaxFun,执行ajax请求
ajaxFun($(element).val());
delayRequestParameter = $(element).val();
}
}
}
}
//调用延迟请求方法,input在输入的时候等待用户输入完成后再发送请求
delayRequest("inputBox", 300, 500);
//ajax请求服务器端,获取数据
function ajaxFun(thisValue) {
$.ajax({
url: "anc.com/php.php",
data: "query=" + thisValue + "&timer=" + new Date().getTime(),
cache: "false",
type: "POST",
timeout: 1000,
success: function (m) {
alert("请求返回的值就是:" + m);
},
error: function () {
alert("出错啦!");
}
});
}
javascript数组删除重复项
<script type="text/javascript">
var temp = [23,26,24,15,23,23,26,28,15];
function option(temp){
var arr=[];
for(var i=0, ilong=temp.length; i <ilong; i++){
if(arr[temp[i]]){
continue;
}
arr[temp[i]]=1;
}
var tarr =[];
for(var k in arr){
tarr.push(k);
}
return tarr;
}
alert(option(temp));
</script>