我想接受一个输入并使用它的值作为添加到其父级的类的名称。
所以这个:
<div class="">
<input value="something">
</div>
会变成这样:
<div class="something">
<input value="something">
</div>
这就是我所拥有的,但它不起作用:
$('input').parent('td').addClass($('input').attr('value'));
答案 0 :(得分:1)
应该这样做;您只需要决定何时来执行此操作 - 因为在什么情况下应触发此代码:
$('input').parent('div').addClass( function() {
return $(this).find('input').val();
});
$('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;
答案 1 :(得分:0)
使用.parent('div')
代替'td'
(您也可以使用.closest()
方法)
您也可以使用.val()
代替.attr()
jsBin demo
var $input = $("input"); // Cache your selectors
$input.closest('div').addClass( $input.val() );