现在的位置: 首页 > 综合 > 正文

js删除数组,checkedBox选中状态,javascript数组删除重复项

2012年02月21日 ⁄ 综合 ⁄ 共 3976字 ⁄ 字号 评论关闭

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>

 

 

 

抱歉!评论已关闭.