2016-07-26 65 views
-1

選擇TD的第一個孩子是沒有得到

$(function() { 
 
      $("tr").click(function() { 
 

 
       $(this).addClass("selected"); 
 
      }); 
 

 
      //************** for left working***************// 
 
      $("button").click(function() { 
 

 
       var CurrentTrId = $("tr.selected").attr("data-id"); 
 

 
       var ParrentTrId = (CurrentTrId) - 1; 
 

 
       if (ParrentTrId == 0) { 
 
        return 
 
       } 
 

 
       var CurrentTrLeftValue = parseInt($(".selected > td:first-child ").css("padding-left")); 
 
       console.log(CurrentTrLeftValue); 
 
       var ParrentTrLeftValue = parseInt($("tr[data-id='" + parrentid + "']td:first-child").css("padding-left")); 
 
       if (NewCurrentTrLeftValue == ParrentTrLeftValue) { 
 

 
        if (CurrentTrLeftValue <= 40) { 
 

 
         CurrentTrLeftValue = (CurrentTrLeftValue + 20); 
 

 

 
         $(".selected > td:first-child").css({ "padding-left": CurrentTrLeftValue }); 
 
         $(".selected > td:first-child").addClass("normal"); 
 
         $('#', ParrentTrId).addClass('bold'); 
 
        } 
 
       }  }); 
 

 
     })
.table { 
 
    position:static; 
 
     width:100%; 
 
     border-collapse:collapse; 
 
     
 
     
 
} 
 
      .table td { 
 
       border: 1px solid; 
 
       border-color: lightgray; 
 
       
 
       height: 17px; 
 
      } 
 
      .selected{ 
 
       background-color:lightskyblue; 
 
      }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="table"> 
 
     <tr> 
 
     <td>hi</td> <td>hi</td> 
 
     </tr> 
 
     <tr> 
 
      <td>me</td> <td>me</td> 
 
     </tr> 
 
     <tr> 
 
      <td>you</td> <td>you</td> 
 
     </tr> 
 
    </table> 
 
    <button>clickme</button>

我想選擇TD沒有采取有沒有任何方法呢? 「parrentid是一個變量,存儲parrent data-id」

我有一張表和一個按鈕,我想將第三次點擊按鈕時將我的可選tr內容移動到20 px左側。第二次點擊我想再次移動它20px(總計40px)。我在這裏寫一些代碼

+0

您可以重現stacksnippet中的問題...? –

+0

嗨,我在這裏添加完整的代碼 –

回答

1

使用:first-child選擇第一個孩子

var LeftValue = $("tr[data-id='1'] td:first-child").text(); 
alert(LeftValue) 

JSFIDDLE

1

確保這個選擇將數據返回

$("tr[data-id='" + parrentid + "'] > td:first-child"); 

如果沒有,那麼使用這個

$("tr[data-id='" + parrentid + "'] td:first-child"); 

然後確保

parseInt($("tr[data-id='" + parrentid + "'] > td:first-child").css("padding-left"));犯規返回字符串如「123px '

-1

通常錯誤:「未捕獲的ReferenceError:$沒有定義」時,jQuery庫還沒有被包含在HTML頁面出現。 您可以使用下面的代碼來包含jquery文件,然後嘗試:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
相關問題