0bb3a175e5dc6882aa1aa0e9e7a52e0a08630234
max
  Tue Oct 15 06:32:01 2024 -0700
fixing small jquery upgrade problem, refs #23169

diff --git src/hg/js/hui.js src/hg/js/hui.js
index 9104325..4cd46fd 100644
--- src/hg/js/hui.js
+++ src/hg/js/hui.js
@@ -80,32 +80,32 @@
     }
     matSubCBsSelected();
     obj.lastIndex = obj.selectedIndex;
 }
 
 function matSelectViewForSubTracks(obj,view)
 {
     waitOnFunction( _matSelectViewForSubTracks, obj,view);
 }
 
 function exposeAll()
 {
     // Make main display dropdown show full if currently hide
     var visDD = normed($("select.visDD")); // limit to hidden
     if (visDD) {
-        if ($(visDD).attr('selectedIndex') === 0) {
-            $(visDD).attr('selectedIndex',$(visDD).children('option').length - 1);
+        if ($(visDD).prop('selectedIndex') === 0) {
+            $(visDD).prop('selectedIndex',$(visDD).children('option').length - 1);
 	        $(visDD).trigger("change");// trigger on change code, which may trigger supertrack reshaping
         }                         // and effecting inherited subtrack vis
 
         // If superChild and hidden by supertrack, wierd things go on unless we trigger reshape
         if ($(visDD).hasClass('superChild'))
             visTriggersHiddenSelect(visDD);
     }
 }
 
 function matSubCbClick(subCB)
 {
 // subCB:onclick  When a subtrack checkbox is clicked, it may result in
 // Clicking/unclicking the corresponding matrix CB.  Also the
 // subtrack may be hidden as a result.
 
@@ -392,30 +392,35 @@
 {   // Returns a list of currently indeterminate matCBs.
     // This is encapsulated to keep consistent with matCbComplete()
     if (complete)
         return $("input.matCB").not(".disabled");
     else
         return $("input.matCB.disabled");
 }
 
 function matCbFindFromSubCb(subCB)
 {   // returns the one matCB associated with a subCB (or undefined)
     var classList =  $( subCB ).attr("class").split(" ");
     // we need one or 2 classes, depending upon how many dimensions in matrix
     // (e.g. "subDB GM10847 NFKB aNone IGGrab Signal")
     classList = aryRemove(classList,["subCB","changed","disabled"]);
     var classes = classList.slice(0,2).join('.');   // Assume X and Y they are the first 2
+    if (classes==="")
+        // no hit, so this must be a 1D matrix. 
+        // New jquery does not accept selectors that end with . anymore, so return right away
+        return undefined;
+
     var matCB = $("input.matCB."+classes).not(".abc"); // Note, this works for filtering because we want 'AND'
     if (matCB.length === 1)
         return matCB;
 
     matCB = $("input.matCB."+classList[0]).not(".abc"); // No hit so this must be a 1D matrix
     if (matCB.length === 1)
         return matCB;
 
     return undefined;
 }
 
 function matAbcCBfindFromSubCb(subCB)
 {
 // returns the abcCBs associated with a subCB (or undefined)
     var abcCBs = $("input.matCB.abc");