当特定文本出现在jquery中的div中时发出警报

时间:2015-12-29 06:25:34

标签: javascript jquery

我希望在div中显示特定文本时启用某些面板。例如,当文本“This is a valid host”出现在特定div中时,将给出警报并且应该启用一些元素(在开始时禁用)。如果没有文本出现,那么警报将是“无效主机”。我实现了以下代码,但每次显示警告时说“有效主机,面板已启用”。 这是我的代码:

<script>
 $("#divoutput").bind("DOMSubtreeModified" , function(){
 if (("#divoutput").innerhtml=="This a valid host")
 {alert ("valid host , panels are enabled");
 $('#text1').attr('disabled', false);
 $('#text2').attr('disabled', false);
 $('#text3').attr('disabled', false);
 $('#text4').attr('disabled', false);
 elseif (("#divoutput").innerhtml=="") 
 alert ("Invalid host , ");
 })
</script>

4 个答案:

答案 0 :(得分:0)

  

提供的代码段中存在无效selectors和更多人为错误

完成下面提供的示例:

&#13;
&#13;
$("#divoutput").bind("DOMSubtreeModified", function() {
  if (this.innerText == "This a valid host") {
    alert("valid host , panels are enabled");
  } else if (this.innerText == "") {
    alert("Invalid host , ");
  }
});
$('#btn').on('click', function() {
  var selctor = $("#divoutput");
  var html = selctor.text();
  if (html) {
    selctor.html('');
  } else {
    selctor.html('This a valid host');
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="divoutput">Hello</div>
<Button id='btn' type='button'>Change</Button>
&#13;
&#13;
&#13;

Fiddle here

答案 1 :(得分:0)

你的意思是这样吗?

<强> HTML

<div id="text">This is a valid host</div>
<input type="radio" id="input" disabled="true">
<button id="button">Click</button>

<强>的Javascript

$(document).ready(function(){
    $('#button').click(function(){
        if(document.getElementById('text').innerHTML == "This is a valid host"){
            $('#input').removeAttr("disabled");
            alert("Valid host , panels are enabled");
        } else {
            $('#input').attr("disabled", "true");
            alert("Invalid host");
        }
    });
});

点击按钮后,它会检查&#34;这是否是有效主机&#34;文字存在。如果文本存在,则将启用单选按钮。

答案 2 :(得分:-1)

@ abhishek,你错过了你的code.try中的大括号。更新了你的代码。

$("#divoutput").bind("DOMSubtreeModified" , function(){
if (("#divoutput").innerhtml=="This a valid host")
{
     alert ("valid host , panels are enabled");
     $('#text1').attr('disabled', false);
     $('#text2').attr('disabled', false);
     $('#text3').attr('disabled', false);
     $('#text4').attr('disabled', false);
}
else if (("#divoutput").innerhtml== " ")
{
  alert ("Invalid host");
}

 });

答案 3 :(得分:-1)

你可以这样做:

&#13;
&#13;
$("#divoutput").on("DOMSubtreeModified", function() {
  if ($(this).text() === "This a valid host") {
    alert("valid host , panels are enabled");
    $('#text1').attr('disabled', false);
    $('#text2').attr('disabled', false);
    $('#text3').attr('disabled', false);
    $('#text4').attr('disabled', false);
  } else if ($(this).text() === ""){
    alert("Invalid host");
  }
});

setTimeout(function(){
  $("#divoutput").html("This a valid host");
}, 1000);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="divoutput"></div>
&#13;
&#13;
&#13;

请注意,您可以在回调中使用$(this)来引用div#output元素。您也可以使用starts with selector整理所有对#text1,#text2,#text3等的引用。

也许:$("input[id^='text']").attr('disabled', false);