月度归档: 2019 年 6 月

  • Docker安装Mariadb数据库 设置root密码 图文教程

    Docker安装Mariadb数据库 设置root密码 图文教程

    前面我们介绍了Docker的内容:

    下面我们记录一下如何安装Mariadb/MySQL数据库。

    镜像库搜索安装Mariadb

    搜索Mariadb

    $ docker search mariadb
    NAME DESCRIPTION STARS OFFICIAL AUTOMATED
    mariadb MariaDB is a community-developed fork of MyS… 2848 [OK]
    bitnami/mariadb Bitnami MariaDB Docker Image 98 [OK]
    linuxserver/mariadb A Mariadb container, brought to you by Linux… 75
    toughiq/mariadb-cluster Dockerized Automated MariaDB Galera Cluster … 38 [OK]
    colinmollenhour/mariadb-galera-swarm MariaDb w/ Galera Cluster, DNS-based service… 26 [OK]
    panubo/mariadb-galera MariaDB Galera Cluster 23 [OK]
    lsioarmhf/mariadb ARMHF based Linuxserver.io image of mariadb 18
    million12/mariadb MariaDB 10 – ~60Mb Alpine UTF-8 16 [OK]
    webhippie/mariadb Docker images for MariaDB 15 [OK]
    bianjp/mariadb-alpine Lightweight MariaDB docker image with Alpine… 9 [OK]
    mariadb/server MariaDB Server is a modern database for mode… 9 [OK]
    centos/mariadb-101-centos7 MariaDB 10.1 SQL database server 9
    severalnines/mariadb A homogeneous MariaDB Galera Cluster image t… 7 [OK]
    centos/mariadb-102-centos7 MariaDB 10.2 SQL database server 5
    wodby/mariadb Alpine-based MariaDB container image with or… 4 [OK]
    tutum/mariadb Base docker image to run a MariaDB database … 4
    circleci/mariadb CircleCI images for MariaDB 3 [OK]
    rightctrl/mariadb Mariadb with Galera support 2 [OK]
    jonbaldie/mariadb Fast, simple, and lightweight MariaDB Docker… 2 [OK]
    kitpages/mariadb-galera MariaDB with Galera 2 [OK]
    tiredofit/mariadb-backup MariaDB Backup image to backup MariaDB/MySQL… 1 [OK]
    demyx/mariadb FROM webhippie/mariadb:latest 0
    jelastic/mariadb An image of the MariaDB SQL database server … 0
    ansibleplaybookbundle/mariadb-apb An APB which deploys RHSCL MariaDB 0 [OK]
    alvistack/mariadb Docker Image Packaging for MariaDB 0 [OK]

    安装Mariadb

    docker pull mariadb

    运行 Mariadb 镜像

    运行Mariadb服务

    docker run --name jmariadb -p 3306:3306 -d -v D:\mysqlData:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=jiloc mariadb
    • -e MYSQL_ROOT_PASSWORD 设置数据库root密码 jiloc
    • -v 映射数据库文件位置
    • --name 设置容器别名

    ============以下是配置Mariadb的config文件映射============

    查看容器ID

    docker ps -a

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    c63468060135 mariadb “docker-entrypoint.s…” 34 seconds ago Exited (1) 33 seconds ago jmariadb
    c948b4856671 nginx “nginx -g ‘daemon of…” 21 minutes ago Up 20 minutes 0.0.0.0:8081->80/tcp jnginx
    d593465ab743 bitnami/php-fpm “php-fpm -F –pid /o…” About an hour ago Up About an hour 9000/tcp jphp-fpm

    创建配置文件夹/文件,挂载数据

    创建 D:\DockerConfig\mysql ,我们将这个文件夹作为一会Docker将要映射的文件位置。

    docker run -d -p 3306:3306 --name mariadb -v D:\DockerConfig\mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jiloc mariadb

    测试连接

    docker ps -a

    确认数据库实例在运行,然后我们这里使用Navicat Premium 进行连接

  • Docker 安装 PHP 并配合 Nginx 运行 phpinfo

    Docker 安装 PHP 并配合 Nginx 运行 phpinfo

    搜索安装 PHP 镜像

    docker pull php

    查找Docker Hub上的php镜像

    $ docker search php
    NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    php                       While designed for web development, the PH...   1232      [OK]       
    richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   207                  [OK]
    phpmyadmin/phpmyadmin     A web interface for MySQL and MariaDB.          123                  [OK]
    eboraas/apache-php        PHP5 on Apache (with SSL support), built o...   69                   [OK]
    php-zendserver            Zend Server - the integrated PHP applicati...   69        [OK]       
    million12/nginx-php       Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS...   67                   [OK]
    webdevops/php-nginx       Nginx with PHP-FPM                              39                   [OK]
    webdevops/php-apache      Apache with PHP-FPM (based on webdevops/php)    14                   [OK]
    phpunit/phpunit           PHPUnit is a programmer-oriented testing f...   14                   [OK]
    tetraweb/php              PHP 5.3, 5.4, 5.5, 5.6, 7.0 for CI and run...   12                   [OK]
    webdevops/php             PHP (FPM and CLI) service container             10                   [OK]
    ...

    这里我们拉取官方的镜像,标签为5.6-fpm

    $ docker pull bitnami/php-fpm

    等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为5.6-fpm的镜像。

    $ docker images
    REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
     bitnami/php-fpm            latest              84abb84939ff        About an hour ago   246MB
     php                        latest              f0357c41bff5        10 days ago         367MB
     nginx                      latest              719cd2e3ed04        2 weeks ago         109MB
     docker4w/nsenter-dockerd   latest              2f1c802f322f        8 months ago        187kB

    Nginx + PHP 部署

    Nginx 部署可以查看:Docker 安装 Nginx,一些 Nginx 的配置参考这篇文章。

    启动PHP容器

    $ docker run -d --name jphp-fpm -v D:\wwwroot\POWER_IDC:/data/wwwroot/poweridc  bitnami/php-fpm

    命令说明:

    • –name jphp-fpm : 将容器命名为 jphp-fpm。
    • -v D:\wwwroot\POWER_IDC:/data/wwwroot/poweridc 将主机中项目的目录 POWER_IDC 挂载到容器的data/wwwroot/poweridc

    查看php容器IP

    docker inspect --format '{{ .NetworkSettings.IPAddress }}' jphp-fpm

    配置Nginx的虚拟主机文件

    在该目录下修改 D:\DockerConfig\nginx\conf.d\poweridc.conf 文件,内容如下:

    server {
        listen       80;
        server_name  poweridc;
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
        location / {
            root   /data/wwwroot/poweridc;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            #root           html;
            fastcgi_pass   jphp-fpm:9000;#下面用了--link参数,hosts里会自动解析ip
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /data/wwwroot/poweridc/$fastcgi_script_name;
            include        fastcgi_params;
        }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
    

    配置文件说明:

    • 172.17.0.3:9000: 表示 php-fpm 服务的容器地址,上面已经说明。

    启动Nginx

    docker run -d -p 8081:80 --name jnginx -v D:\wwwroot\POWER_IDC:/data/wwwroot/poweridc -v D:\DockerConfig\nginx\conf.d\poweridc.conf:/etc/nginx/conf.d/poweridc.conf -v D:\DockerConfig\nginx\logs:/etc/nginx/logs --link jphp-fpm:bitnami/php-fpm nginx
    • -p 8081:80: 端口映射,把 nginx 中的 80 映射到本地的 8081 端口。
    • D:\wwwroot\POWER_IDC: 是本地 html 文件的存储目录,/data/wwwroot/poweridc 是容器内 html 文件的存储目录。
    • D:\DockerConfig\nginx\conf.d\poweridc.conf: 是本地 nginx 配置文件的存储目录,/etc/nginx/conf.d/poweridc.conf 是容器内 nginx 配置文件的存储目录。

    运行php文件

    接下来我们在 D:\wwwroot\POWER_IDC 目录下创建 info.php,代码如下:

    <?php phpinfo();

    浏览器打开 http://poweridc:8081/info.php,显示如下:

  • Docker 安装 Nginx 映射本地文件 多虚拟主机 图文教程

    Docker 安装 Nginx 映射本地文件 多虚拟主机 图文教程

    Docker命令行如何安装Nginx?

    docker pull nginx 命令安装

    查找 Docker Hub 上的 nginx 镜像

    $ docker search nginx
    NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    nginx                     Official build of Nginx.                        3260      [OK]       
    jwilder/nginx-proxy       Automated Nginx reverse proxy for docker c...   674                  [OK]
    richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   207                  [OK]
    million12/nginx-php       Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS...   67                   [OK]
    maxexcloo/nginx-php       Docker framework container with Nginx and ...   57                   [OK]
    ...

    这里我们拉取官方的镜像

    $ docker pull nginx

    等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 nginx 的镜像。

    $ docker images nginx
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    nginx               latest              555bbd91e13c        3 days ago          182.8 MB

    Docker中如何启动Nginx实例?

    以下命令使用 NGINX 默认的配置来启动一个 Nginx 容器实例:

    $ docker run --name jiloc-nginx-test -p 8081:80 -d nginx
    • jiloc-nginx-test 容器名称。
    • the -d设置容器在在后台一直运行。
    • the -p 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。

    执行以上命令会生成一串字符串,类似 0c3b0eaaa36657306e4586cfd613f5e37bbff0423cc3e58ee3683b4a1f1458f5,这个表示容器的 ID,一般可作为日志的文件名。

    我们可以使用 docker ps 命令查看容器是否有在运行:

    $ docker ps
    CONTAINER ID        IMAGE        ...               PORTS                  NAMES
    0c3b0eaaa366        nginx        ...      0.0.0.0:8081->80/tcp   jiloc-nginx-test

    PORTS 部分表示端口映射,本地的 8081 端口映射到容器内部的 80 端口。

    在浏览器中打开 http://127.0.0.1:8081/,效果如下:


    Docker部署nginx设置配置文件

    首先,创建目录 nginx, 用于存放后面的相关东西。

    $ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

    拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:

    docker cp 0c3b0eaaa366:/etc/nginx/nginx.conf ~/nginx/conf
    • www: 目录将映射为 nginx 容器配置的虚拟目录。
    • logs: 目录将映射为 nginx 容器的日志目录。
    • conf: 目录里的配置文件将映射为 nginx 容器的配置文件。
    • :ro 只读

    部署命令

    $ docker run -d -p 8082:80 --name jiloc-nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -v ~/nginx/logs:/var/log/nginx nginx

    已有源码 Windows 本地映射,启动Docker开启虚拟主机

    docker run -d -p 8081:80 --name jnginx -v D:\wwwroot\POWER_IDC:/data/wwwroot/poweridc -v D:\DockerConfig\nginx\conf.d\poweridc.conf:/etc/nginx/conf.d/poweridc.conf nginx

    命令说明:

    • -p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。
    • –name jiloc-nginx-test-web:将容器命名为 jiloc-nginx-test-web。
    • -v ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
    • -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
    • -v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

    启动以上命令后进入 ~/nginx/www 目录:

    $ cd ~/nginx/www

    创建 index.html 文件,内容如下:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(laoji.org)</title>
    </head>
    <body>
        <h1>我的第一个标题</h1>
        <p>我的第一个段落。</p>
    </body>
    </html>

    输出结果为:

    我们这里使用的是自定义域名,设置方法请看:

    Linux Windows MacOS 等系统中hosts的原理及作用

    相关命令

    如果要重新载入 NGINX 可以使用以下命令发送 HUP 信号到容器:

    $ docker kill --signal=SIGHUP container-name

    重启 NGINX 容器命令:

    $ docker restart container-name
  • Docker中快速删除所有容器

    Docker中快速删除所有容器

    查看运行容器

    docker ps

    查看所有容器

    docker ps -a

    进入容器

    其中字符串为容器ID:

    docker exec -it d27bd3008ad9 /bin/bash

    停用全部运行中的容器:

    docker stop $(docker ps -q)

    删除全部容器:

    docker rm $(docker ps -aq)

    一条命令实现停用并删除容器:

    docker stop $(docker ps -q) & docker rm $(docker ps -aq)
  • jQuery获取append添加html内容后的动态元素:live()和on()

    jQuery获取append添加html内容后的动态元素:live()和on()

    jquery通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)

    $("ul").append("<li class='name'>名称</li>");

    错误方法:

    $(“.name”).click(function (){
    alert(“获取到append后的节点”);
    })

    正确方法:

    $(".name").live("click", function() {
        alert("获取到了");
    });

    jquery 1.7+之后用on代替live,on()方法在被选元素及子元素上添加一个或多个事件处理程序

    <div id=”one”></div>
    $(‘#one’).append(“<p id=’two’>test1</p>”);
    append后结果:
    $(‘#one’).append(“<p id=’two’>test1</p>”);

    错误示例:

    $("#two").on("click",function(data){
        alert(data);
    });

    正确方法:

    $("body").on("click","#two",function(data){
        alert(data);
    });
  • 微信小程序开发 批量选择上传图片 代码实例

    微信小程序开发 批量选择上传图片 代码实例

    最近在做微信开发,下面记录一下wx.chooseImagewx.uploadImage接口上传多张图片的代码实例。

    JAVASCRIPT代码实例:

    $(function(){
        wx.config({
    	debug: false,
    	appId: '<?php echo $signPackage["appId"];?>',
    	timestamp: <?php echo $signPackage["timestamp"];?>,
    	nonceStr: '<?php echo $signPackage["nonceStr"];?>',
    	signature: '<?php echo $signPackage["signature"];?>',
    	jsApiList: [
    	    'checkJsApi',
    	    'chooseImage',
    	    'previewImage',
    	    'uploadImage',
    	    'downloadImage'
    	]
        });
        wx.ready(function () {    
            var localIds = [];
    	$(".weui_uploader_input").click(function(){
    	    var that = $(this);
    	    wx.chooseImage({
    		count: 9,
    		sourceType: ['camera', 'album'], 
    		success: function (res) {
    		    localIds = res.localIds;
    		    syncUpload(that);		
    		}
    	    });
    	});
    	
            function syncUpload() {
                if (!localIds.length) {
                    console.log('上传成功!');
                } else {
                    var localId = localIds.pop();
                    var select_name = that.attr('select_name');
                    wx.uploadImage({
                        localId: localId,
                        success: function() {
                            syncUpload();
                        }
                    });
                }
            }
        });
    });

    localIds 为上传图片队列。

  • Linux TCP “SACK PANIC” 远程拒绝服务漏洞 处理应对方案 图文教程

    Linux TCP “SACK PANIC” 远程拒绝服务漏洞 处理应对方案 图文教程

    Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。       

    为避免您的业务受影响,老季建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。

    【漏洞详情】

    近日,Netflix 信息安全团队研究员Jonathan Looney发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。

    【风险等级】高风险【漏洞风险】  

    远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。 

    【影响版本】

     目前已知受影响版本如下: FreeBSD 12(使用到 RACK TCP 协议栈)
     CentOS 5(Redhat 官方已停止支持,不再提供补丁)
     CentOS 6
     CentOS 7
     Ubuntu 18.04 LTS
     Ubuntu 16.04 LTS
     Ubuntu 19.04
     Ubuntu 18.10 

    【安全版本】 

    各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下: 

    CentOS 6 :2.6.32-754.15.3
    CentOS 7 :3.10.0-957.21.3
    Ubuntu 18.04 LTS:4.15.0-52.56
    Ubuntu 16.04 LTS:4.4.0-151.178

    【修复建议】

    请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:

    【CentOS 6/7 系列用户】

    • yum clean all && yum makecache ,进行软件源更新;
    • yum update kernel  -y ,更新当前内核版本;
    • reboot,更新后重启系统生效;

    uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。

    【Ubuntu 16.04/18.04 LTS 系列用户】

    • sudo apt-get update && sudo apt-get install linux-image-generic ,进行软件源更新并安装最新内核版本;
    • sudo reboot ,更新后重启系统生效;

    uname -a ,检查当前版本是否为【安全版本】,如果是,则说明修复成功。

    临时缓解方案

    如不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用(可能会对网络性能产生一定影响),运行如下命令即可:

    • echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
    • sysctl -p ,重载配置,使其生效。
  • 解决Chrome插件安装时出现 程序包无效:”CRX_HEADER_INVALID”。

    解决Chrome插件安装时出现 程序包无效:”CRX_HEADER_INVALID”。

    今天想去chrome应用商店加载一个插件,百度了很久都是说按照“更多工具”–“扩展程序”–开启“开发者模式”,然后将.crx的拖进扩展程序里即可。

    但是按照这个教程,发现还是不行,会出现如下错误:

    程序包无效:”CRX_HEADER_INVALID”。

    安装步骤 图文教程

    下面我们说一下正确的安装方法。

    首先我们在网上下载到了.crx文件之后将文件名改成.rar的文件。然后“右击”解压缩到整体文件夹。

    安装完成

  • PHP实用基础如何实现删除数组中的特定元素 代码实例

    PHP实用基础如何实现删除数组中的特定元素 代码实例

    举例,在数组中删除3这个数字。

    方法1:

    <?php
    $arr1 = array(1,3, 5,7,8);
    $tmp[] = 3;
    $arr1 = array_diff($arr1,$tmp);
    var_dump($arr1);
    

    返回结果:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) }

    方法2:

    <?php
    $arr2 = array(1,3, 5,7,8);
    foreach ($arr2 as $key=>$value)
    {
        if ($value === 3)
            unset($arr2[$key]);
    }
    var_dump($arr2);

    返回结果:array(4) { [0]=> int(1) [2]=> int(5) [3]=> int(7) [4]=> int(8) }

    总结:可以看到使用array_splice()删除特定值和使用unset删除特定值是有区别的。

    array_splice()函数删除的话,数组的索引值也变化了。

    unset()函数删除的话,数组的索引值没有变化

  • PHP数组函数–array_filter 用法详解

    PHP数组函数–array_filter 用法详解

    (PHP 4 >= 4.0.6, PHP 5, PHP 7)
    array_filter — 用回调函数过滤数组中的单元
    (PHP 4 >= 4.0.6, PHP 5, PHP 7) array_filter — 用回调函数过滤数组中的单元

    依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
    返回值 返回过滤后的数组

    下面是一个例子:

    <?php                
    $arr = array(        
    "1",                 
    "2",                 
    "3",                 
    "4",                 
    "5",                 
    "",                  
    "6",                 
    "7",                 
    "8",                 
    false,               
    "14",                
    "15",                
    "195",               
    "",                  
    "9",                 
    );                   
    //删除空字符串和false  
    $re1 = array_filter($arr);
    var_dump($re1);          
    echo "------------------\n";
    function add($num) {     
        $num = intval($num); 
        if($num >6) {    
            return true;     
        }                
        return false;    
    }                    
    $res = array_filter($arr,"add");
    var_dump($res);

    运行结果:

    array(12) {
      [0]=>
      string(1) "1"
      [1]=>
      string(1) "2"
      [2]=>
      string(1) "3"
      [3]=>
      string(1) "4"
      [4]=>
      string(1) "5"
      [6]=>
      string(1) "6"
      [7]=>
      string(1) "7"
      [8]=>
      string(1) "8"
      [10]=>
      string(2) "14"
      [11]=>
      string(2) "15"
      [12]=>
      string(3) "195"
      [14]=>
      string(1) "9"
    }
    ------------------
    array(6) {
      [7]=>
      string(1) "7"
      [8]=>
      string(1) "8"
      [10]=>
      string(2) "14"
      [11]=>
      string(2) "15"
      [12]=>
      string(3) "195"
      [14]=>
      string(1) "9"
  • Vultr更换新UI界面 新增High Frequency Compute 更换新LOGO

    Vultr更换新UI界面 新增High Frequency Compute 更换新LOGO

    今天老季有看到VULTR商家再次改版修改UI和LOGO,这次的LOGO也是再次更换的,不过界面是比之前的好看一些。

    Vultr 注册即送$50美金,16机房可选,按时计费:购买直达链接

    整体界面也比较稳重、大气,LOGO也换掉,其实功能上没什么区别,对于使用者来说一样用,只是以前一直看着一个界面有视觉疲劳。

    这次变动可以看到纽约机房有增加月费用2.5、3.5美元方案,前者是没有IPV4的,后者是有一个IPV4地址的,根据网友反馈,最近这家商家开通的VPS主机也是很多IP不可以用的,但是还好可以不断的删除重建找到合适的。对于他家而言,速度一般,但是优势是机房多。

    同时我们也可以看到VULTR商家新增High Frequency高性能云服务器,但是只有纽约机房。最低配置是1G内存、32GB NVMe、1TB流量,月付$6美元起。

  • jQuery全文检索表格 特定文字变色高亮红色 图文教程

    jQuery全文检索表格 特定文字变色高亮红色 图文教程

    下面我们记录一下如何在table中检索每个文字,如果遇到我们设置的关键字设置为红色。不多说废话,直接上代码。

    jQuery Javascript代码:

    $(function () {        
            var redKey = '未审核';
            $('table.tbl_list tr').find("td").each(function(){
                if( $(this).html() == redKey ){
                  console.log( $(this).html());
                  $(this).css("color",'red');
                }
            });
    });

    HTML代码:

    <table class="tbl_list">
        <tr>
            <td>文字1</td>
            <td>未审核</td>
            <td>文字1</td>
            <td>文字1</td>
        </tr>
        <tr>
            <td>文字1</td>
            <td>未审核</td>
            <td>文字1</td>
            <td>文字1</td>
        </tr>
    </table>

    这里我们检索的时候是以td为单位进行检索的。如果是其他div等大家可以自由发挥。

WeChat