检查选择器jQuery

时间:2016-06-21 04:03:05

标签: jquery

请告知警报无效的原因,我尝试了几种方法,但在检查复选框时仍然不会发出警告。



$(document).ready(function(){
  $('.classname').on('change', function(){ 
    if(this.checked) 
    {
    alert("hello world");
    }
  });
});

$(document).ready(function() {
  $('.classname').change(function() {
    if ($(this).prop('checked')) {
        alert("hello World"); 
    }

  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" id="classname"> 1st method

<input type="checkbox" id="classname2"> 2nt method
&#13;
&#13;
&#13;

有人可以告诉我哪里出错了或我错过了什么?

5 个答案:

答案 0 :(得分:1)

您的错误非常简单。 您使用了类选择器而不是id选择器。

确保在两个复选框中添加相同的类才能使其正常运行。

$(document).ready(function(){
  $('.classname').on('change', function(){ 
    if(this.checked) 
    {
    alert("hello world");
    }
  });
});

$(document).ready(function() {
  $('.classname').change(function() {
    if ($(this).prop('checked')) {
        alert("hello World"); 
    }

  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" class="classname"> 1st method

<input type="checkbox" class="classname"> 2nt method

答案 1 :(得分:0)

<input type="checkbox" class="classname"> 

设置复选框的class属性。您已设置id属性。您的jquery选择器(.classname)适用于class

答案 2 :(得分:0)

在您的代码段中,您的复选框的 ID classname代替class
您需要在选择器中使用id,或者在复选框中添加一个类。

工作演示:

$(document).ready(function(){
  $('.classname').on('change', function(){ 
    if(this.checked) 
    {
    alert("hello world");
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" class="classname"> 1st method
<input type="checkbox" class="classname"> 2nt method

答案 3 :(得分:0)

<?php

    $str=" lorem ipsum https://domain.com/xxx";

    $split= preg_split("#(https\:\/\/)|(http\:\/\/)#",$str,-1,PREG_SPLIT_DELIM_CAPTURE); //split on https:// or http://

    echo '<a href="'.$split[1].$split[2].'">'.trim($split[0]).'</a>'; //glue the 3 pieces back together

    //<a href="https://domain.com/xxx">lorem ipsum</a>

?>

您不能使用this.check,因为checked不是属性。

您可以尝试以上代码。

答案 4 :(得分:0)

试试这个

$(".classname").change(function() { 
    if(this.checked) { 
        alert("hello world");
    } 
});

您可以使用&#34; this.checked&#34;访问DOM元素,而不是将元素包装为jQuery元素,然后调用一些jQuery方法来实现您的需要。这个方法也应该比使用jQuery $(this)更快。

您必须确保您的复选框具有&#34;类名&#34;上课也是如此。