2009-08-25 9 views

Antwort

10

Für id sollten Sie verwenden #:

$("a#To") 

Dot für Klassen ist.

+0

gibt es einen Unterschied zwischen einem # To und #To? – leora

+1

Wenn Sie das ID-Attribut korrekt verwenden (d. H. * Einmal *), gibt es keinen Unterschied (und #To ist theoretisch schneller, da tagName nicht überprüft wird). –

+0

Es sollte kein Unterschied sein. In ungültigen Dokumenten können zwei Elemente die gleiche ID teilen, dies ist UB (glaube ich). Wenn ein Tag-Name und dann eine ID-Prüfung durchgeführt wird und die beiden Elemente unterschiedliche Tag-Namen haben, erhalten Sie möglicherweise ein anderes Ergebnis, vorausgesetzt, dass jQuery den Tag-Namen im Selektor nicht ignoriert. – strager

4

tat ich dies vor kurzem in meinem cms löschen Links bestätigt. Zuerst sollten Sie ein Dialogfenster instanziiert (dies ist so, wenn Sie in der Nähe auf dem Dialog klicken und dann wieder öffnen, zeigt sich, ... sonst wird es zerstört):

$(document).ready(function() 
{ 
    /** 
    * Create a dialog box for confirming deletes. 
    * This creates the box at domready. The box is opened 
    * by a call to dialog("open") in the delete link. 
    */ 
    $("#delete-dialog").dialog({ 
     autoOpen : false, 
     bgiframe : true, 
     buttons : { 
      "Yes, I'm sure" : function() 
      { 
       $(this).dialog("close"); 
       var href = $(this).dialog("option", "href"); 
       var row = $(this).dialog("option", "row"); 
       $.doDelete(href, row); 
      }, 
      "Cancel" : function() 
      { 
       $(this).dialog("close"); 
      } 
     }, 
     height  : 150, 
     modal  : true, 
     overlay : { 
      backgroundColor : "#000000", 
      opacity   : 0.75 
     }, 
     resizable : false 
    }); 
}); 

Then „hook up“ die ein Tags (noch im document.ready Block):

/** 
* Make all delete links confirm before sending to delete path. 
*/ 
$("a.delete-href").live("click", function(event) 
{ 
    event.preventDefault(); 

    var href = $(this).attr("href"); 
    var row = $(this).parent().parent(); 

    // pass some custom options to the dialog 
    $("#delete-dialog").dialog("option", "href", href); 
    $("#delete-dialog").dialog("option", "row", row); 
    // open the previously init'ed dialog 
    $("#delete-dialog").dialog("open"); 
}); 
2

Ihr eine Klasse Selektor aber Ihre für die id suchen ... müssen Sie wie folgt vor.

$("#To").click(function(e) { 
     e.preventDefault(); 
     $("#dialog").dialog({height:300}); 
    }); 
0

der Code:

$("#dialog").dialog({height:300}); 

wird den Dialog aufzubauen, wird der Code einen Dialog zu öffnen ist:

$("#dialog").dialog("open"); 

edit: obwohl, ich glaube, AutoOpen- so standardmäßig auf true gesetzt ist Ihr Code sollte funktionieren, es sei denn, Ihr Selektor ist defekt. Id empfehlen AutoOpen- auf false gesetzt und mit dem Open-param den Dialog zu öffnen (auf diese Weise Sie nicht, es wieder aufzubauen, wann immer Sie versuchen, es zu öffnen):

$("#dialog").dialog({height:300, autoOpen:false}); 
1

, da Sie durch das id Attribut sind die Auswahl, die richtige Wahl ist "a#To" eher als "a.To"

Verwandte Themen