2015-10-14 56 views
0

我正在尋找一種方法來從表中選擇單元格與img標籤,並更改只使用JS的樣式。如何使用JavaScript查找帶有img標籤的單元格?

<table border="1" id="table1"> 
<tr> 
<td id="0"><img src="background.jpg"></td><td id="1"></td><td id="2"></td><td id="3"></td> 
</tr> 
</table> 

我想用我的形式,但我不知道如何使它工作。 我想這(在它,我想看看通過ID中IMG的形式進入,但我知道 - 它不工作)

function form1() { 
    var x = document.getElementsByTagName("img"); 
    var y = document.getElementById('formu').value; 
if (x=y) { 

    console.log(x) 

} 




<form> 
    <fieldset> 
     <label for="ship"></label> 
     <input type="text" id="formu" name="ship" value="" /> 
    </fieldset> 

    <input type="button" onclick="check()" value="fire!"> 
</form> 

如果以這種形式我就會把ID單元,其中存在標籤IMG我想改變細胞的風格。

回答

2

在javascript中,您可以選擇相似圖片:

var tdImages = document.querySelectorAll('td > img'); 

然後對它們進行迭代,並使用parentNode

var td, index = 0, length = tdImages.length; 
for (; index < length; index++) { 
    td = tdImages[index].parentNode; 
} 

這裏是小提琴例如: http://jsfiddle.net/y1vseo5t/

編輯:所以你想讓用戶輸入一個ID我n輸入,並從中確定該表數據元素是否具有圖像,如果它改變了某些樣式。

http://jsfiddle.net/y1vseo5t/1/

選擇,所以我改變了對錶中的數據元素的IDS是TD0,TD1不能以數字開頭...

如果必須用數字作爲粘在第一個字符這裏的ID是另一種解決方案: http://jsfiddle.net/y1vseo5t/2/

+0

不錯!但我只有一個要求。 如何將它與表單連接?我使用這個 檢查表單值var y = document.getElementById('formu')。value; – MMon

+0

我很樂意提供幫助,但我不確定我是否通過將其與表單連接來理解您的意思?我不認爲價值是形式上的合法屬性/財產。那麼你試圖從表單中獲得什麼價值?也許在上面顯示更多HTML,以便我可以看到你如何使用表單。 – AtheistP3ace

+0

我修改了我的請求 – MMon

0

這是jQuery中,最好的做法在這裏你可以使用has選擇

$("td").has("img").each(function() { 
}); 

這裏是JavaScript解決方案

var cellsWithImage = document.querySelectorAll("td > img"); 

for (var i = 0; i < cellsWithImage.length; i++) { 
    cellsWithImage[i] = cellsWithImage[i].parentNode; 
} 

請注意,我們必須使用循環,因爲數組方法filtermap不適用於DOM集合。

我有關於您的代碼的另一個說明。您正在使用document.getElementsByTagName函數,但它返回的不是DOM對象的集合。您需要將對象的索引放在括號內以引用特定圖像。

document.getElementsByTagName("img")[0]  // Returns first image 
+0

但是如何讓它只使用JS? – MMon

相關問題