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 " )); // 只有一个参数,删除这个下标以后的所有项,并替换为第三个参数。
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 >
< 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 ;
}
}
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 " );
}
})
}
$( " # " + 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>
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>