1.高逼格---转义
反斜杠一般用在转义中,比如在字符串里我们想表示空字符就使用'\b',换行'\n'。同样,在提供给querySelector和querySelectorAll的参数也支持转义,
此时一个小demo 一个class为"tmp:test"的div
<div class="tmp:test">
</div>
当使用一般的写法时:
document.querySelector('.tmp:test');
报错:
Failed to execute 'querySelector' on 'Document': '.tmp:test' is not a valid selector.
将冒号直接转义就能解决问题么? 下面的就是:
document.querySelector('.tmp\\:test');
还是报错:
Failed to execute 'querySelector' on 'Document': '.tmp\:test' is not a valid selector.
正确的写法;
document.querySelector('.tmp\\:test');
同理 对有反斜杠的div的class="tmp:test";写法是
document.querySelector('.tmp\\\\:test');
一些小的jQuery技巧
2.禁止使用右键点击
$(document).ready(function(){
$(document).bind("contextmenu",function(e){
return false;
});
});
- 预加载图片
$(document).ready(function() {
jQuery.preloadImages = function()
{
for(var i = 0; i<ARGUMENTS.LENGTH; jQuery(?<img { i++)>").attr("src", arguments[i]);
}
}
// 用法
$.preloadImages("image1.jpg");
});
4.点击返回到页面顶部
a{
display: inline-block;
margin-top:800px ;
color: red;
}
<a href="#">这个是A标钱</a>
使用jQuery方法:
$(document).ready(function() {
$('a[href*=#]').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
&& location.hostname == this.hostname) {
var $target = $(this.hash);
$target = $target.length && $target
|| $('[name=' + this.hash.slice(1) +']');
if ($target.length) {
var targetOffset = $target.offset().top;
$('html,body')
.animate({scrollTop: targetOffset}, 900);
return false;
}
}
});
//一些变相的用法:place this where you want to scroll to
<A name=top></A>
// the link
<A href="#top">go to top</A>
});
5.获取鼠标的位置 xy值
$(document).ready(function() {
$().mousemove(function(e){
//display the x and y axis values inside the div with the id XY
$('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);
});
});
//这里可得到鼠标X坐标
var pointX = e.pageX;
//这里可以得到鼠标Y坐标
var pointY = e.pageY;
6.判断元素是否为空:
if ($('#id').html()) {
// do something
}
7.替换元素
$('#id').replaceWith('
<DIV>I have been replaced</DIV>
');
8.延迟加载的方法 可用于网络请求
$(document).ready(function() {
window.setTimeout(function() {
// do something
}, 1000);
});
9.使元素居中显示
$(document).ready(function() {
jQuery.fn.center = function () {
this.css("position","absolute");
this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
return this;
}
$("#id").center();
});
10.统计一个元素的个数,可以统计数组等
$(document).ready(function() {
$("p").size();
});
- 解决一些冲突 jQuery类
$(document).ready(function() {
var $jq = jQuery.noConflict();
$jq('#id').show();
});