Existe-t-il un moyen d’obtenir le style: attribut display qui n’aurait aucun effet ou bloqué?
DIV:
<div id="ctl00_MainContentAreaPlaceHolder_cellPhone_input_msg_container" class="Error cellphone" style="display: block;">
<p class="cellphone" style="display: block;">Text</p>
</div>
Je sais qu'il existe un moyen de savoir si la DIV est masquée ou non, mais dans mon cas, cette div est injectée de manière dynamique, de sorte qu'elle s'affiche toujours comme visible, donc je ne peux pas l'utiliser:
$j('.Error .cellphone').is(':hidden')
Je peux obtenir le résultat "display: block" en utilisant:
$j('div.contextualError.ckgcellphone').attr('style')
Existe-t-il un moyen d'obtenir uniquement la valeur "block" ou "none" ou existe-t-il un moyen meilleur/plus efficace de le faire?
Tu pourrais essayer:
$j('div.contextualError.ckgcellphone').css('display')
Si vous utilisez jquery 1.6.2, vous devez seulement coder
$('#theid').css('display')
par exemple:
if($('#theid').css('display') == 'none'){
$('#theid').show('slow');
} else {
$('#theid').hide('slow');
}
c'est la bonne réponse
$('#theid').css('display') == 'none'
Vous pouvez également utiliser la ligne suivante pour déterminer s’il s’agit d’un bloc d’affichage ou aucun.
$('.deal_details').is(':visible')
Ma réponse
/**
* Display form to reply comment
*/
function displayReplyForm(commentId) {
var replyForm = $('#reply-form-' + commentId);
if (replyForm.css('display') == 'block') { // Current display
replyForm.css('display', 'none');
} else { // Hide reply form
replyForm.css('display', 'block');
}
}
//animated show/hide
function showHide(id) {
var hidden= ("none" == $( "#".concat(id) ).css("display"));
if(hidden){
$( "#".concat(id) ).show(1000);
}else{
$("#".concat(id) ).hide(1000);
}
}