2010-07-26 4 views
0

J'essaye de joindre le plugin Qtip aux éléments seulement si les éléments contenant certains textes existent sur la page. Pour une raison quelconque, je continue à recevoir une erreur de script disant "AddTooltips() n'est pas une fonction." sur une page où les éléments n'existent pas. Quelque chose ne fonctionne pas vraiment avec ma déclaration if.Vérifier si l'élément existe provoquant une erreur de script dans le navigateur

$(document).ready(function() { 

function AddTooltips() { 
    var infoIcon = '<img class="actionItem catInfo" style="margin-left:4px" src="/images/00_Core/info.gif"/>'; 
    var $Age = $("div.question h3:contains('Age')"); 
    var $Gender = $("div.question h3:contains('Gender')"); 
    var $Questions = $("div.question h3:contains('Age'), div.question h3:contains('Gender')"); 
    $Questions.append(infoIcon); 
    $.fn.qtip.styles.speStyle = { // Last part is the name of the style 
    width: 400, 
    border: { 
    width: 2, 
    radius: 6 
    }, 
    name: 'light' // Inherit the rest of the attributes from the preset dark style 
    }; 
    $Age.children("img.catInfo").qtip({content: 'Some Copy.', style: 'speStyle' 
    }); 
    $Gender.children("img.catInfo").qtip({content: 'Some Different Copy.', style: 'speStyle' 
    }); 
} 


if ($("div.question h3:contains('Age')").length > 0 || $("div.question h3:contains('Gender')").length > 0) { 
    AddTooltips(); 
} 
}); 

Répondre

1

mis AddTooltips() en dehors du prêt dom événement comme ceci:

function AddTooltips() { 
    var infoIcon = '<img class="actionItem catInfo" style="margin-left:4px" src="/images/00_Core/info.gif"/>', 
     $Age = $("div.question h3:contains('Age')"), 
     $Gender = $("div.question h3:contains('Gender')"), 
     $Questions = $("div.question h3:contains('Age'), div.question h3:contains('Gender')"); 

    $Questions.append(infoIcon); 
    $.fn.qtip.styles.speStyle = { // Last part is the name of the style 
     width: 400, 
     border: { 
      width: 2, 
      radius: 6 
     }, 
     name: 'light' // Inherit the rest of the attributes from the preset dark style 
    }; 
    $Age.children("img.catInfo").qtip({content: 'Some Copy.', style: 'speStyle'}); 
    $Gender.children("img.catInfo").qtip({content: 'Some Different Copy.', style: 'speStyle'}); 
} 

$(function() { 
    if ($("div.question h3:contains('Age'), div.question h3:contains('Gender')").length) { 
     AddTooltips(); 
    } 
}); 
Questions connexes