在这个jQuery脚本中,我想动态地获取$("#rowDate1")
的id:
<script>
$(function() {
$("#rowDate1").click(function() {
var thetext = $(this).html();
$(this).html('<input type="text" name="edittext" id="edittext" value="'+thetext+'" />');
});
});
</script>
我正在制作内联可编辑表格,我只想让用户点击带有ID的<td>
。我该怎么做才允许<td>
ID可点击?
编辑 - HTML已添加:
<td id="rowDate1">09/10/12 - 09/14/12</td>
答案 0 :(得分:3)
您不能拥有两个名称相同的ID,因此您可能希望使用类。你可以做到
$('#rowData').click(function() {
if($(this).attr("id") === "edittext"){
Do something }
或只为课程编写。
$('.edittext').click(function(){
do soemthing }
答案 1 :(得分:3)
你可以使用
$("td[id]").click(function(){
//Do something;
});
仅对id为
的td调用此方法答案 2 :(得分:3)
您可以使用attribute starts with
选择器:
$("td[id^=rowDate]").click(function() {
// ...
})
答案 3 :(得分:3)
我会为每个可编辑的td
分配一个课程,然后为每个课程分配一个点击事件,而不是通过ID来浏览您的项目:
HTML:
<table>
<tr>
<td class="clickable">1</td>
<td class="clickable">2</td>
<td class="clickable">3</td>
<td class="clickable">4</td>
</tr>
</table>
JS:
$('.clickable').click(function(){
$('.clickable').removeClass('active');
$(this).addClass('active');
});
答案 4 :(得分:2)
您可以使用jQuery通过在选择器字符串中使用[id]来仅选择具有id的元素。
我为您创建了一个jsFiddle作为示例。
所以你的代码应该是这样的:
<script>
$(function() {
$("td[id]").click(function() {
var thetext = $(this).html();
$(this).html('<input type="text" name="edittext" id="edittext" value="'+thetext+'" />');
});
});
</script>