1. 利用JQuery中如何判断元素中是否有文本
- <script type="text/javascript">
- $(function(){
- $("body").each(function(){
- if($(this).find("h1").text().trim()==""){
- $(this).css("background","blue");
- }else{
- $(this).css("background","red");
- }
- });
- });
- </script>
注://trim()方法是去空格,$.trim()函数删除提供字符串的所有换行符,空格(包括非中断空格
2. 判断ul标签下是否有li元素
- var jqObj = $(this);
- if(!jqObj.has('li').length){
- jqObj.hide();
- }
3. 遍历/判断子节点(带某些参数子节点)的个数,如果有少于1的给出提示.
- $("div[id^=div]").each(function(){
- //alert($(this).find(".subclass").children('ul').size());
- var lili=$(this).find(".subclass").children('ul').size();
- //alert(lili)
- if(lili<1){
- alert("ddd")
- }
- });
- <div id="div1" class="topclass"><ul><li></li></ul><div class="subclass"><ul><li></li></ul><ul><li></li></ul></div></div>
- <div id="div2" class="topclass"><ul><li></li></ul><div class="subclass"><ul><li></li></ul></div></div>
YY项目中的例子:
- //限制每提最少选择一个答案
- var stop=true;
- $(".lisbox").each(function () {
- //alert($(this).find(".subclass").children('ul').size());
- var lili = $(this).find("input:checked").length;
- //alert(lili)
- if (lili < 1) {
- stop=false;
- }
- });
- if(!stop){ alert("每个调查最少选择一个答案哦~");return false; }
- $.ajax({ ... })
4. 检查某个元素是不是再另外一个元素中?
- <ul><li></li></ul>
- <script>
- $("ul").append("<li>" + ($("ul").has("li").length ? "yes__" : "no_") + "</li>");
- $("ul").has("li").addClass("full");
- </script>
5. 遍历保存所有Input内地值
- <script>
- $("p").append( $("input").map(function(){
- return $(this).val();
- }).get().join(", ") );
- </script>
- ====================================================
- Values: John, password, http://qq.com/
6.邮件订阅提交
- <script type="text/javascript">
- function subscribe(){
- $.post('/ebapi/subscribe.php', {"ispub":1, "email":$("input[name=email]").val()}, function(jsondata){
- if (jsondata.code == 1){
- $('.bu_success').css("display", "block");
- $('.bu_error').css("display", "none");
- $('.bu_success').html('订阅成功');
- }else{
- $('.bu_success').css("display", "none");
- $('.bu_error').css("display", "block");
- if (jsondata.code == 2)
- $('.bu_error').html('您已经订阅了,不需要重复订阅');
- else if (jsondata.code == -1)
- $('.bu_error').html('邮箱格式错误,请重新输入');
- else if (jsondata.code == 0)
- $('.bu_error').html('订阅失败');
- }
- }, 'json');
- }
- $('input[name="email"]').bind('keypress', function(event){
- if (event.keyCode == '13'){
- subscribe();
- }
- });
- $('#subscribeBtn').bind('click', function(){
- subscribe();
- });
- </script>
- *********************************************
- 返回Json格式:{code: 1}
7.通用Tab选项卡
- //tab标签切换
- var $tabcon=$(".tabbox .tabcon .tcon");
- var $tabconliN=$(".tabbox li");
- var $tabconliH=$(".tabbox li[name='tabH']");
- var $tabconliC=$(".tabbox li[name='tabC']");
- $tabconliH.hover(function(){
- $(this).siblings().removeClass("current").addClass("current");
- var index = $tabconliN.index(this);
- $tabcon.eq(index).show().siblings('.tcon').hide();
- });
- $tabconliC.click(function(){
- $(this).siblings().removeClass("current").addClass("current");
- var index = $tabconliN.index(this);
- $tabcon.eq(index).show().siblings('.tcon').hide();
- });
- <div class="tabbox">
- <div class="tit">
- <ul>
- <li name="tabC">aaaaaaaaaa</li>
- <li name="tabC">bbbbbbbbbb</li>
- <li name="tabC">cccccccccc</li>
- </ul>
- </div>
- <div class="tabcon">
- <div class="tcon">1111</div>
- <div class="tcon">2222</div>
- <div class="tcon">3333</div>
- </div>
- </div><!-- tabbox -->
8. 提交问卷实例(抓取页面中所有被选中的Input_value值,及对应的问题ID,输出Json)
- function showVal(){
- var val=$('.lisbox').map(function(){
- var pid=$(this).attr('id');
- var val=$('input:checked',this).map(function(){
- return $(this).val();
- }).get();
- var obj={key:pid,id:val};
- return obj;
- }).get();
- alert(JSON.stringify(val));
- <div class="lisbox" id="120">
- <div class="lisT l-h-30 co30">1.你从哪里知道的我们的?</div>
- <input type="radio" name="an0" value="316" id="316"><label for="316">电视广告</label>
- <input type="radio" name="an0" value="318" id="318"><label for="318">地铁公交广告</label>
- <input type="radio" name="an0" value="317" id="317"><label for="317">互联网文字广告</label>
- <input type="radio" name="an0" value="315" id="315"><label for="315">互联网视频广告</label>
- <input type="radio" name="an0" value="327" id="327"><label for="327">亲朋好友介绍</label>
- </div>
- <div class="lisbox" id="120">
- <div class="lisT l-h-30 co30">2.你从哪里知道的我们的?</div>
- <input type="checkbox" name="an0" value="316" id="316"><label for="316">电视广告</label>
- <input type="checkbox" name="an0" value="318" id="318"><label for="318">地铁公交广告</label>
- <input type="checkbox" name="an0" value="317" id="317"><label for="317">互联网文字广告</label>
- <input type="checkbox" name="an0" value="315" id="315"><label for="315">互联网视频广告</label>
- <input type="checkbox" name="an0" value="327" id="327"><label for="327">亲朋好友介绍</label>
- </div>
- <input type="submit" onClick="showVal()">
9.JS定期器
- clearTimeout()和clearInterval() :
- JS里设定延时:
- 使用SetInterval和设定延时函数setTimeout 很类似。
- setTimeout 运用在延迟一段时间,再进行某项操作。
- setTimeout("function",time) 设置一个超时对象
- setInterval("function",time) //设置一个超时对象
- SetInterval为自动重复,setTimeout不会重复。
- clearTimeout(对象) 清除已设置的setTimeout对象
- clearInterval(对象) 清除已设置的setInterval对象
10.JQ(Ajax)实例
- $("#bt1").click(function(){
- var name =$("#tx1").val();
- var URL = "../validate?name="+name+"&date="+new Date().getTime();
- $.ajax({
- type:"GET",
- url:URL,
- dataType:"xml",
- success:function(msg){
- alert(msg);
- var jqueryObj =$(msg) ;//把后台传来的对象转为JQuery对象
- alert(jqueryObj);
- var content = jqueryObj.text();
- $("#sp1").text(content);
- }
- });
- })
php提交JSON并返回JSON格式数据(附AJAX部分)
- <?php
- header("content-type:text/html;charset=utf-8");
- $username = $_POST['hiusername'];
- $sex = $_POST['hisex'];
- $age = $_POST['hiage'];
- //$json_res = {'username':$username,'sex':$sex,'age':$age};
- $json_res = array("username"=>$username,'sex'=>$sex,'age'=>$age);
- $res = json_encode($json_res);
- file_put_contents("c:/1.txt",$res);
- echo $res;
- ?>
- <html>
- <head>
- <title>php jquery json数据传输</title>
- <meta http-equiv="content-type" content="text/html;charset=utf-8" />
- <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
- <script type="text/javascript">
- $(function(){
- $('#send').click(function(){
- $.ajax({
- type: "post",
- url: "/php/s1.php",
- data: {hiusername:$("input[name='username']").val(),hisex:$("input[name='sex'][checked]").val(),hiage:$("input[name='age']").val()},
- dataType: "json",
- success: function(msg){
- if(msg!=null){
- alert("提交成功!")
- }
- },error:function(){
- alert("ddddd")
- }
- });
- });
- });
- </script>
- </head>
- <body>
- <!-- <form action="/php/s1.php" method="post"> -->
- 姓名:<input type="text" name="username" /><br />
- 性别:<input type="radio" name="sex" value="男" />男<input type="radio" name="sex" value="女" />女<br />
- 年龄:<input type="text" name="age" />
- <input type="submit" name="sub" id="send" value="提交" />
- <!-- </form> -->
- <div id="test"></div>
- </body>
- </html
JQuery对CheckBox的一些相关操作
一、对CheckBox的操作:
根据NAME值及所匹配的value去提交参数值serialize()
- <html>
- <head>
- <script type="text/javascript" src="/jquery/jquery.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $("button").click(function(){
- $("div").text($("form").serialize());
- });
- });
- </script>
- </head>
- <body>
- <form action="">
- username: <input type="text" name="hiusername" value="liuxinxiu" /><br />
- age: <input type="text" name="hiage" value="28" /><br />
- </form>
- <button>序列化表单值</button>
- <div></div>
- </body>
- </html>
为什么PS导出不了JPG切片了?
我用PS做了一个皮肤。切片切好之后 存储为WEB所用格式 选择的是PNG的。
现在我要存储为JPG的,但是现在存储的时候 明明选择的是JPG的,但是存储出来的还是PNG的图片。
解决如下:
其实这样的情况我曾经也遇到过,研究了一下,目前最好的处理方法是这样的:
1.选择储存为web所有格式;
2.弹出的选项框的左下方显示百分比中选择:满画布显示;
3.框中显示满画布后,在显示图片区域按住鼠标左键,从左上拖动至左下,全选整个所有切好的图片(如果想分别选择可以调整显示百分比大小,将所要储存的图片格式一一选择);
4.全选或任意选择好你所需的图片后,在弹出框的左边“预设”处选择JPG(或则其他格式),调整所需品质、模糊、杂边等;
5.最后点存储,选择“html和图片”,选好电脑所放位置,就可以得到整图切片后生成的所有JPG格式图片以及html了。
linux apache安装mod_cband限制虚拟主机带宽
mod_cband是一个限额用户带宽,最高下载速度,每秒访问请求速度和最高并发访问ip连接数的apache2模块。
1.安装mod_cband如下:
- wget http://so.liuxinxiu.com/mod-cband-0.9.7.2.tgz
- tar zxvf mod-cband-0.9.7.2.tgz
- cd mod-cband-0.9.7.2
- ./configure --with-apxs=/usr/local/apache/bin/apxs
- make
- make install
# yum install httpd-devel
//安装
- grep cband /usr/local/apache2/conf/httpd.conf
- 如果是云安装:
- grep cband /etc/httpd/conf/httpd.conf
- #++++++++++默认入口+++++++++++++
- #<VirtualHost *:80>
- # DocumentRoot /usr/local/apache/htdocs
- # ServerName 192.168.1.233
- #</VirtualHost>
- <VirtualHost *:80>
- ServerName 192.168.1.233
- ServerAdmin admin@liuxinxiu.com
- DocumentRoot /usr/local/apache/htdocs
- CBandSpeed 1024 100 30
- CBandRemoteSpeed 50kb/s 5 3
- </VirtualHost>
mysql通过SUBSTRING_INDEX实现切割
mysql没有直接提供切割的函数.但是我们可以通过SUBSTRING_INDEX来实现.
如 原始字符串: aa.bb.cc.dd
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('aa.bb.cc.dd', '.', 1), '.', -1); 得到aa
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('aa.bb.cc.dd', '.', 2), '.', -1); 得到bb
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('aa.bb.cc.dd', '.', 3), '.', -1); 得到cc
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('aa.bb.cc.dd', '.', 4), '.', -1); 得到dd
看出规律来了吧.
Linux find 批量查找文件内容
find ./ -name "*.php" | xargs grep "js.bjlcp.com"
sftp连接命令详解
ssh超时断开的解决方法
当用SSH Secure Shell连接Linux时,如果几分钟没有任何操作,连接就会断开。必须重新登陆才行,每次都重复相同的操作,很是烦人,一般修改两个地方可将这烦人的问题解决
1、echo $TMOUT (先查看有预设,如果大于0就把它设置为0 TMOUT=0)
不重启机器让/etc/profile文件生效! . /etc/profile
如果显示空白,表示没有设置, 等于使用默认值0, 一般情况下应该是不超时. 如果大于0, 可以在如/etc/profile之类文件中设置它为0.
2、修改/etc/ssh/sshd_config文件,将ClientAliveInterval 0和ClientAliveCountMax 3的注释符号去掉,将ClientAliveInterval对应的0改成60,ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送.而ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开. 正常情况下, 客户端不会不响应.
#ClientAliveInterval 0
#ClientAliveCountMax 3
***************************************
去掉注释,设置为60秒发送一次
ClientAliveInterval 60
ClientAliveCountMax 3
重启SSHD
service sshd restart