0

最高のJQueryプログラマーではないことをお許しください。しかし、問題が発生しました。私のJqueryはFF/IE10で完全に実行されますが、それだけです。理由はわかりませんが、ここに私のコードがあります。できれば助けてください!

テキストボックス「custom-url」は、ロード時に.hideせず、他のブラウザのようにドロップダウンリストがオプション「custom」に変更されたときに.showします。

私は現在jquery-1.5.1を使用しており、テキストボックスのhtmlは次のとおりです。

<input type="text" id="custom-url" style="width:220px;"/>

この次の部分は現在のページにのみ固有であるため、それを使用するページにインポートされます。

<script type="text/javascript">

    $(document).ready(function () {
        "use strict";
        $("#custom-url").hide();
    });

    $("select#url-list").change(function () {
        "use strict";
        var selectedItem = $("option:selected", $(this)),
        selectedValue = selectedItem.val();
        $("#url").val(selectedValue);
        if (selectedValue === "custom") {
            $("#custom-url").show();
        } else {
            $("#custom-url").hide();
        }
    });

    $("form").submit(function () {
        "use strict";
        var selectedItem = $("select#url-list option:selected"));
        var selectedvalue = selectedItem.val();
        if (selectedvalue === "custom") {
            $("#Url").val($("#custom-url").val());
        } else if (selectedvalue === '') {
        } else {
            $("#Url").val(selectedItem.val());
        }
    });

</script>

この次の部分はグローバル固有であるため、マスターにインポートされます。

<script src="@Url.Content("~/Scripts/MyScripts.js")" type="text/javascript"></script>

   $(document).ready(function () {
         var str = $('iframe').attr('src');
         var substr;
         var current_tab = "";

         $("#topNav ul:first-of-type li:last-child").hover(function () {
             $(this).addClass("elementHovered");

         }, function () {
             $(this).removeClass("elementHovered");
         });


         if (str == undefined) {
            // alert($("ul:first-of-type li:last-child").parent().html());

              current_tab = "Admin";

              $("#topNav ul:first-of-type li:last-child").children().addClass("elementHovered");             

         }
         else {


             substr = str.split('/');
             var str = "";
             var i;
             for (i = 0; i < substr.length; ++i) {
                 str = str + "subtri[" + i.toString() + "]" + substr[i] + "         ";
             }



             $('#topNav ul:first-of-type').children('li').each(function () {
                 if (substr[2] == "prototype.sunoconet2012.com") {
                     current_tab = "Documents";
                 }
                 else if (substr[3] == "admin") {
                     current_tab = "Home"
                 }
                 else {
                     switch (substr[1]) {

                         case 'contracts':
                             current_tab = "Account Information"
                             break;
                         case 'financials':
                             current_tab = "Financial"
                             break;
                         case 'pricing':
                             current_tab = "Pricing"
                             break;
                         case 'operations':
                             current_tab = "Operations";
                             break;
                         case 'support':
                             current_tab = "Support"
                             break;
                         case 'admin':
                             current_tab = "Support"
                             break;
                         case 'SunocoUniversity':
                             current_tab = "Training";
                             break;
                         case 'onlinetraining':
                             current_tab = "Training";
                             break;
                         default:
                             current_tab = "Administration";
                             break;
                     }
                 }

                 if (current_tab == $(this).text()) {
                    // alert("current_tab:  " + current_tab + "    this.text:  " + $(this).text());
                     //    alert("substr[1]      = " + substr[1] + "substr[2]      = " + substr[2] + " substr[3]      = '" + substr[3] + "'  current_tab    = " + current_tab + "  $(this).text() = " + $(this).text()); // "this" is the current element in the loop
                     $(this).children().css("background-color", "#4D77A7");
                     $(this).children().css("color", "white");
                 }
             });
         }

     });
4

1 に答える 1

0

Jquery 1.9.1にアップデートすると、うまくいきました。

于 2013-03-20T17:00:19.427 に答える