天天看点

javascript实现htmlencode()与htmldecode()函数

使用layui的过程中需要使用到了下拉框的lay-search,当点击搜索时值中的 被原样显示了,所以需要进行处理。

要么 repalce掉,要么decode为空格。

decode与encode的实现:

function htmlencode(s){
    var div = document.createElement('div');
    div.appendChild(document.createTextNode(s));
    return div.innerHTML;
}
function htmldecode(s){
    var div = document.createElement('div');
    div.innerHTML = s;
    return div.innerText || div.textContent;
}
           

程序中的使用:

<script>
    function htmldecode(s) {
        var div = document.createElement('div');
        div.innerHTML = s;
        return div.innerText || div.textContent;
    }
    $(function(){
        $('body').on('click','.layui-select-title input',function () {
            var b = htmldecode($(this).val());
            // c=b.replace(/[&\|\\\*^%$#@\-]/g,"");
            $(this).val(b);
        })
    });
</script>
           

当点击其他地方仍有问题时:当然也可以只用下面这一段,因为下面是整个dom中的点击

$(document).click(function () {
            var va = $('.layui-select-title input').val();
            var b = htmldecode(va);
            $('.layui-form-select input').val(b)
        });