JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div id="bloco1" class="bloco bloco-atual primeiro-bloco">
<div class="titulo-bloco"> <p>BLOCO 1</p> </div>
<!-- INICIO PERGUNTA A -->
<div class="questao questao-A">
<p class="pergunta">A - PG A
<span class="label" id="labelA"></span>
<span class="sucesso" id="sucessoA"></span>
</p>
<div class="split-list">
<ul class=" list-group">
<li class="list-group-item list-group-item-success">
<label><input type="radio" name="pgA" value="SIM" /> SIM </label>
<p class="alert alert-success pgA_qual"><label>Qual ? </label>
<input type="text" name="pgA_qual" class="form-control" value=""/>
</p>
</li>
<li class="list-group-item list-group-item-success"><label><input type="radio" name="pgA" value="NÃO" /> NÃO </label></li>
</ul>
</div>
</div>
<!-- FIM PERGUNTA A -->
<!-- INICIO PERGUNTA 1 -->
<div class="questao questao-1">
<p class="pergunta">1 - PG1
<span class="label" id="label1"></span>
<span class="sucesso" id="sucesso1"></span>
</p>
<div class="split-list">
<ul class=" list-group">
<li class="list-group-item list-group-item-success"><label><input type="radio" name="pg1" value="SIM" /> SIM </label></li>
<li class="list-group-item list-group-item-success"><label><input type="radio" name="pg1" value="NÃO" /> NÃO </label></li>
<li class="list-group-item list-group-item-success"><label><input type="radio" name="pg1" value="NA (Não Aplicável)" /> NA (Não Aplicável) </label></li>
</ul>
...
JavaScript
$("#btn-proximo").click(function() {
_thisBloco = $(".bloco-atual");
var strBlocoAtual = "bloco-atual";
if(_thisBloco.hasClass(strBlocoAtual)){
var tamanhoClassQuestao = _thisBloco.find(".questao").length;
$(".bloco-atual").find(".questao").each(function(){
var __thisQuestao = $(this);
var __thisElement =__thisQuestao.find(":input");
var thisElementoType = __thisElement.attr("type");
var thisElementoName = __thisElement.attr("name");
// TIPO INPUT
if(thisElementoType === 'radio') {
if($("[name='"+thisElementoName+"']").is(":checked")){
//faz algo
} else {
alert("n checkado");
scrollTop(__thisQuestao);
return false;
}
} else
if(thisElementoType === 'text') {
alert(thisElementoName);
if($("[name='"+thisElementoName+"']").val() === ""){
alert("valor vazio");
scrollTop(__thisQuestao);
return false;
}
}
// TIPO TEXTAREA
var thisName =__thisQuestao.find("textarea").attr("name");
if($("[name='"+thisName+"']").hasClass("obriga")){
if($("[name='"+thisName+"']").val() === ""){
alert("valor vazio");
scrollTop(__thisQuestao);
return false;
}
}
});
}
});
function scrollTop(elemento){
$('html,body').animate({scrollTop:...