如何使用函数参数作为类的名称?

时间:2016-06-15 10:17:16

标签: javascript jquery

如何使用参数textname来处理类和ID的名称?

HTML:

<div id="text" onClick="markClickFunction("text","name");">+</div>
<div class="name">test</div>

JQUERY:

function markClickFunction(text, name) {
    $('.name').slideToggle("fast");
    if ($('#text').html()=="+") {
        $('#text').html("-");
    } else {
        $('#text').html("+");    
    }
}

4 个答案:

答案 0 :(得分:2)

简单的字符串连接,您还需要在"属性值中转义onlick或使用'

function markClickFunction(text, name) {
  $('.' + name).slideToggle("fast");
  var $text = $('#' + text);
  if ($text.html() == "+") {
    $text.html("-");
  } else {
    $text.html("+");
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="text" onClick="markClickFunction('text','name');">+</div>
<div class="name">test</div>

答案 1 :(得分:1)

使用+(加号)连接参数。尝试:

function markClickFunction(text,name)
{
    $('.'+name).slideToggle("fast");
    if($('#'+text).html()=="+"){
        $('#'+text).html("-");
    } else {
        $('#'+text).html("+");
    }
}

答案 2 :(得分:1)

function markClickFunction(text, name) {
  console.log($(text).text())
  console.log(name.text())
  
  name.slideToggle("fast");
  var $text = $(text);
  if ($text.html() == "+") {
    $text.html("-");
  } else {
    $text.html("+");
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="text" onClick="markClickFunction( this , $('.name') );">+</div>
<div class="name">test</div>

  1. 将此传递给功能
  2. 中的对象
  3. 你可以将它们作为点击元素的$(文本)进行访问,因为你传递了DOM本身以便第二个参数访问它

答案 3 :(得分:0)

对于Class,您必须在参数中添加一个点(&#39;。&#39;):

$('.' + text);

对于ID,您必须在参数中添加一个哈希标记(&#39;#&#39;):

$('#' + text);