如何使用jquery显示从变量派生的类?

时间:2017-07-26 00:39:11

标签: jquery

我正在尝试利用我的元素的值来使某些类出现在css中,但是,它不起作用。能否请你帮忙?该代码与选项元素一起使用。请检查下面的小提琴: https://jsfiddle.net/w99vunx6/

    $( "#zero" ).click(function() {
    var $target = $('.c' + $(this).val());
    $target.show();
});

$( "zeroa" ).click(function() {
    var $target = $('.cc' + $(this).val());
    $target.show();
});

2 个答案:

答案 0 :(得分:1)

Hugo,您可以使用的解决方案是将value属性更改为数据属性,然后使用$(this).data('value')访问它。像这样:

$( "#zero" ).click(function() {
    var $target = $('.c' + $(this).data('value'));
    $target.show();
});

<p id="zero" data-value="0" style="display: inline;">Zero</p>

jsfiddle:https://jsfiddle.net/w99vunx6/1/

答案 1 :(得分:0)

此处的问题是您要为<p>段落标记分配value属性。

value属性只能分配给以下元素: <button><input><li><option><progress><param>

尝试定位段落标记上的id,如下所示:

&#13;
&#13;
$(document).ready(function() {
  $("#zero").click(function() {
    var $target = $('.c' + this.id);
    $target.show();
  });
  $("#zeroa").click(function() {
    var $target = $('.cc' + this.id);
    $target.show();
  });
});
&#13;
.czero {
  display: none;
}

.cczeroa {
  display: none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="labels">
  <p id="zero" style="display: inline;">Zero</p>
  <p id="zeroa" class="czero">Zero a</p>
  <p id="zeroazero" class="cczeroa">Zero a Zero</p>
</div>
&#13;
&#13;
&#13;

<强> Fiddle Demo