我试图点击链接来填充输入字段,因为" p class ="标记""嵌套在所有那些" div"标签我可以让它工作。蚂蚁想法我怎么能这样做?
<script type="text/javascript">
$('p.tag').live('click', function(e){
$('#tag').val(this.innerHTML);
return false;
});
<html>
<tr>
<td align="left" width="100%" colspan="0">
<div class="my_list">
<div class="list">
<div id="list-wrapper">
<p class="tag"> Name 1</p>
<p class="tag"> Name 2</p>
<p class="tag"> Name 3</p>
<p class="tag"> Name 4</p>
<p class="tag"> Name 5</p>
</div>
</div>
<div class="showme">
<a class="color" href='' title='Show App' name="all">
Show
</a>
</div>
</div>
</td>
</tr>
<tr>
<td><input id="tag" type="text" name="name" value=""></td>
</tr>
</html>
谢谢!
答案 0 :(得分:0)
您的HTML无效,您需要将代码包装在<table>
内,因为<tr>
和<td>
必须留在<table>
其次,您应该使用 .on() 而不是.live()
,因为来自 upgrade guide :
自jQuery 1.7以来,.live()方法已被弃用 在1.9中删除。我们建议升级代码以使用.on()方法 代替。
$('p.tag').on('click', function (e) {
$('#tag').val(this.innerHTML);
return false;
});
<强> Updated Fiddle 强>
如果您的段落是动态添加的,那么您可以使用 event delegation :
$('body').on("click", "p.tag", function(){
$('#tag').val(this.innerHTML);
return false;
});