小编Al.*_*Al.的帖子

jQuery在x个元素之后包装代码

我有一个包含任意数量LI的UL.我正在尝试创建一些jQuery代码,它将解析原始UL并在每5个原始LI之后包装UL和另一个LI.

开始HTML:

<ul id="original_ul">
    <li class="original_li">..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
    <li>..</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

必填HTML:

<ul id="processed_ul">

    <li class="new_wrap_li">

        <ul class="new_wrap_ul">

            <li class="original_li">..</li>
            <li>..</li>
            <li>..</li>
            <li>..</li>
            <li>..</li>

        </ul><!-- end new wrap ul -->

    </li><!-- end new wrap li -->

    <li class="new_wrap_li">

        <ul class="new_wrap_ul">

            <li class="original_li">..</li>
            <li>..</li>
            <li>..</li>
            <li>..</li>
            <li>..</li>

        </ul><!-- end new wrap ul -->

    </li><!-- end new wrap li -->

</ul><!-- end processed ul -->
Run Code Online (Sandbox Code Playgroud)

我一直在使用.each函数来浏览LI并将它们附加到临时div中保存的新处理的ul ...现在我只需要在每5个LI周围包装新的LI和UL.

提前致谢!!

javascript jquery

6
推荐指数
1
解决办法
4097
查看次数

使用jQuery克服IE Button Value Bug

问题:在IE 6和7中,使用.val()或.attr('value')而不是按钮的实际值在jQuery中返回按钮元素的文本.这是一个已知问题,它也可以使用.value直接使用Javascript.之前有一个讨论:

使用jQuery检索Button值

但是从未找到可接受的整体解决方案(只有暂时隐藏按钮文本的黑客).

我一直在研究一个完整的解决方案,这样无论何时访问按钮的值(无论是在表单提交还是仅使用jQuery/Javascript),都会返回正确的值.我使用下面的代码与.val()一起工作.我正在寻求帮助,让它也可以使用.attr('value')工作,甚至可以使用直接的Javascript .value.

我已经设置了一个JSfiddle页面,可以在这里看到它:

http://jsfiddle.net/hyperseer/RVyDN/2/

码:

$(document).ready(function(){

    $().iefixer();

});

(function($){  

    $.fn.iefixer = function(){  

            $.fn.origval = $.fn.val;
            $.fn.val = function(value){
                var elem = this[0];
                if(value === undefined){
                    var returnVal = null;
                    if( elem.nodeName.toLowerCase() == 'button' )
                    {
                        returnVal = elem.getAttributeNode("value").nodeValue;
                    } else {
                        returnVal = $(elem).origval();
                    }
                    return returnVal;
                } else {
                    if( elem.nodeName.toLowerCase() == 'button' )
                    {
                        elem.getAttributeNode("value").nodeValue = value;
                    } else {
                        $(elem).origval(value);
                    }

                }
            }

$('button').click( function() {

alert( "$(this).val() = " + …
Run Code Online (Sandbox Code Playgroud)

javascript jquery internet-explorer internet-explorer-7

5
推荐指数
1
解决办法
1323
查看次数

jQuery:不是和:第一次订购

我试图获取未禁用或隐藏的表单中的第一个输入字段.我需要能够排除单选按钮,选择和特定ID.

以下代码完美地工作,除非select在我想要的文本或密码字段之前:

$("form :input:visible:enabled:first:not('select')");
Run Code Online (Sandbox Code Playgroud)

如果我排除:not('select'),则返回select作为第一个输入字段(正确地说,因为:input返回几乎所有表单元素).但是,当我包含:not('select')时,没有任何东西被拾取.有任何想法吗?

这个问题的第二部分 - 我认为可以链接:不是所以我可以有类似的东西:

$("form :input:visible:enabled:first:not('select'):not(#specific_id):not(type[radio])");
Run Code Online (Sandbox Code Playgroud)

javascript jquery

4
推荐指数
1
解决办法
116
查看次数