都是风景,幸会。

标签的语义都是见仁见智,只要不是特别反人类,细微的理解差异,是可以接受的。像锚点标记(链接)<a> (anchor) 以前通常被当作内联元素,现代网页越来越多地采用了块状可点击区域的设计,HTML 5 里就允许 <a> 作为块级元素来用。

一般来说,HTML 标签分为内联元素(a span strong em sup sub code)和块级元素,对于包含问题,只有一条颠扑不破的真理——内敛元素里面不能放块级元素。

p 是一个块级元素,所以它放内联元素 input (除了 form fieldset legend 以外,表单相关的元素都是内联的)是完全没有问题的。

大部分块级元素都能包含其他块级元素,但一些用于排版的,有明确语义的块级元素(h1 ~ h6 address dt dd 等),一般不再放置其他块级元素(因为真的需要那么复杂的排版时,还不如自己造一个 div ,并且通过 className 来让语义更明确)。

其中 p 尤为特殊,基本上完全容不得其他块级元素。因为作为一个“段落”,通常是连续性文字的集合,如果放了块级元素进去,明显就已经把文字拆成两段了。事实上,在几乎所有浏览器里,

<p><div></div></p>

都会被处理成

<p></p><div></div>

在 HTML 4, HTML 5 里, pli 都可以自闭合,也就是说,不一定要加上结束标签。所以浏览器的这种处理,也是有道理的。

案例一

function countDown(obj,second){
    // 如果秒数还是大于0,则表示倒计时还没结束
    if(second>=0){
          // 获取默认按钮上的文字
        if(typeof buttonDefaultValue === 'undefined' ){
            buttonDefaultValue =  obj.defaultValue;
        }
        // 按钮置为不可点击状态
        obj.disabled = true;
        // 按钮里的内容呈现倒计时状态
        obj.value = buttonDefaultValue+'('+second+')';
        // 时间减一
        second--;
        // 一秒后重复执行
        setTimeout(function(){countDown(obj,second);},1000);
    // 否则,按钮重置为初始状态
    }else{
        // 按钮置未可点击状态
        obj.disabled = false;
        // 按钮里的内容恢复初始状态
        obj.value = buttonDefaultValue;
    }
}
<input onclick="countDown(this,30);" type="button" value="发送短信" />

案例二

var secs = 10;
function countDown(ele){
    if(secs == 0){
        ele.removeAttribute("disabled");
        ele.innerHTML="重新获取验证码";
        secs = 10;
    }else{
        ele.setAttribute("disabled", true);
        ele.innerHTML="重新发送(" + secs + ")";
        secs--;
        setTimeout(function(){
            countDown(ele);
        },1000)
    }
}
<button type="button" id="btn3" onClick="countDown(btn3)" class="btn btn-primary">立即注册</button>

$("#main").each(function(){
    var t = $(this).html();
    t = t.replace(/[\r\n]/g,"").replace(/[ ]/g,"");
    if(t == ''){
        // 如果为空
    }else{
        // 如果不为空
    }
});

String.prototype.isEmpty = function () {
  var s1 = this.replace(/[\r\n]/g, '').replace(/[ ]/g, ''),
      s2 = (s1 == '') ? true : false;
  return s2;
};

$('.list').html().isEmpty();

最近在搞phpcms系统,需要将文章中的图片分离出来上传到第三方服务器上,但是Phpcms V9 版没有远程附件这个功能,Google 了一下找到2个网友写的插件,部署之后无法使用,应该是自己的问题,最终黄天不负有心人找到了这款比较上手的:

••••••