如何将输入值作为类添加到父级

时间:2014-11-12 20:20:11

标签: jquery addclass attr

我想接受一个输入并使用它的值作为添加到其父级的类的名称。

所以这个:

<div class="">
    <input value="something">
</div>

会变成这样:

<div class="something">
    <input value="something">
</div>

这就是我所拥有的,但它不起作用:

$('input').parent('td').addClass($('input').attr('value'));

2 个答案:

答案 0 :(得分:1)

应该这样做;您只需要决定何时来执行此操作 - 因为在什么情况下应触发此代码:

$('input').parent('div').addClass( function() {
    return $(this).find('input').val();
});

&#13;
&#13;
$('input').parent('div').addClass( function() {
  return $(this).find('input').val();
});


//output new HTML
var newHTML = $('<div/>').html( $('div.something').clone() ).html();
$('pre.out').text( newHTML );
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="">
    <input value="something">
</div>

<h1>New HTML</h1>
<pre class="out"></pre>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用.parent('div')代替'td'

(您也可以使用.closest()方法)
您也可以使用.val()代替.attr() jsBin demo

var $input = $("input"); // Cache your selectors
$input.closest('div').addClass( $input.val() );