2009-11-02 5 views
0

Pourquoi le code suivant donne-t-il une exception?Le code JQuery ne fonctionne pas

function SetText(index, text) { 
      try { 
       $('p')[index].innerHTML = text; 
      } 
      catch (ex) { 
       alert(ex); 
      } 
     } 

     $(document).ready(SetText(2, 'Damn')); 

l'exception est:

TypeError: $('p')[index] is undefined 

Ceci est mon fichier de code:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectingFromAnElementGroup.aspx.cs" Inherits="JQuery_Intellisence_Test.SelectingFromAnElementGroup" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title></title> 
    <script src="Javascript/jquery-1.3.2.js" type="text/javascript"> 
     /// <reference path="jquery-1.3.2-vsdoc.js" /> 
    </script> 
    <script type="text/javascript"> 
     function SetText(index, text) { 
      try { 
       $('p')[index].innerHTML = text; 
      } 
      catch (ex) { 
       alert(ex); 
      } 
     } 

     $(document).ready(SetText(2, 'Damn')); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <p>This is 1st Paragraph</p> 
      <p>This is 2nd Paragraph</p> 
      <p>This is 3rd Paragraph</p> 
      <p>This is 4th Paragraph</p> 
      <p>This is 5th Paragraph</p> 
     </div> 
    </form> 
</body> 
</html> 
+0

s'il vous plaît, montrez votre code html woth 'p' –

Répondre

3

Essayez et nous dire ce qui se passe:

$(document).ready(function() { SetText(2, 'Damn') }); 

Je pense que votre fonction est appelé avant que le DOM soit prêt.

+0

Yeah! C'est correct! Ça fonctionne. – anonymous

0
<html> 
<head> 
    <script src="http://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
     google.load("jquery", "1.3.2"); 
     function SetText(index, text) { 
      try { 
       if (typeof $('p')[index] !='indefined') $('p')[index].innerHTML = text; 
      } catch (ex) { 
       alert(ex); 
      } 
     } 
</script> 
</head> 
<body> 
    <p>Paragraph 0</p> 
    <p>Paragraph 1</p> 
    <p>Paragraph 2</p> 
    <script type="text/javascript"> 
     $(function() {SetText(2, 'Damn');}); 
    </script> 
</body> 
</html> 

Votre code doit être vérifié par

if (typeof $('p')[index] !='indefined')