2015-10-20 47 views
0

我需要使用javascript(不使用jquery)獲取屬性值。

使用下面的行:我取html代碼。

var rrr = gridViewctl.rows[parseInt(rowindex)].cells[4].innerHTML;

返回HTML代碼出現如下:

 <input name="ctlDetails:_ctl3:txtName" id="ctlDetails__ctl3_txteName" style="width: 208px;" type="text" value="value text"> 

你能分享我如何獲取從上面使用普通的JavaScript文本屬性value場?

注意:上面的html是在變量中動態檢索的,然後我需要從那裏獲取value屬性。 document.getElementById由於需要查找變量holded html而不是文檔對象上的屬性,因此無法解決問題。 如果想,那麼jQuery的,我可以用像$(rrr).attr('value');

感謝

+0

'的document.getElementById(.. ID ..)value'? –

+0

只需要應用在特定的html上,而不是在文檔對象上,所以不能解決問題。 – dsi

+1

Value是HTML元素的一個屬性,不是它的代碼:'gridViewctl.rows [parseInt(rowindex)]。cells [4] .value'(儘管您可能需要查看此查找的子節點 – traktor53

回答

1

<script type="text/javascript"> 
 
    var lol; 
 
    function onload() { 
 
     lol = document.getElementById('lolz').value; 
 
    } 
 
    function kk(){ 
 
     alert(lol); 
 
    } 
 
</script> 
 

 
<body onload="onload();"> 
 
    <input type="text" name="enter" class="enter" value="" id="lolz"/> 
 
    <input type="button" value="click" onclick="kk();"/> 
 
</body>

我希望這個例子助陣

+0

不,因爲html不知道,所以'ID'是未知的 – dsi

+0

更新的問題與更多的細節 – dsi

0

您還可以使用數據 - *屬性傳遞自定義數據。 例如

<li data-animal="bird">Owl</li> 

中獲取價值:

$("li").data("animal"); 

這將是獲取價值 「鳥」

+0

我需要沒有jquery和只使用JavaScript – dsi

+0

通過JS: var article =的document.getElementById( 'yourElemID'); article.dataset.animal:產生要訪問 欲瞭解更多信息的數據: https://developer.mozilla.org/en/docs/Web/Guide/HTML/Using_data_attributes – Nachiketha

1

試試這個更新的代碼:)

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <title>Get Attribute Value</title> 
 
    <script type="text/javascript"> 
 
    function getval() { 
 
     var x = document.getElementsByTagName("input")[0].value; 
 
     var y = document.getElementsByTagName("input")[0].setAttribute("value", x); 
 
     var z = document.getElementsByTagName("input")[0].getAttribute("value"); 
 
     document.getElementById("input_value").innerHTML = z; 
 
    } 
 
    </script> 
 
</head> 
 

 
<body> 
 
    <input name="ctlDetails:_ctl3:txtName" id="ctlDetails__ctl3_txteName" style="width: 208px;" type="text" value="value text"> 
 
    <p id="input_value"></p> 
 
    <button onclick="getval();">Try it</button> 
 
</body> 
 

 
</html>

+0

它不適用於 我。因爲,html是我需要應用的變量的返回值,javascript和find屬性。如果我可以使用jquery,那麼解決方案就像$(' dsi

+0

代碼更新試試這個 – cheralathan

0

您可以使用regular expression從HTML字符串中提取(默認)值屬性,如本(測試)函數示例中所示。

function valueAtrFrom(html) 
{ 
    var regexp = /value="([^"]*)/; // regular expression 
    var a = regexp.exec(html);  // execute on html string and get result array 
    var value = a && (a.length > 1) ? a[1] : ""; // 2nd array element or "" 
    return value; 
} 

並稱之爲var value = valueAtrFrom(rrr),或者只是在線編寫代碼。正如所寫的,正則表達式查找value=",然後匹配到下一個雙引號的任何字符並存儲它們。這些存儲的字符是由.exec

返回的結果陣列中的第二個條目。當然,你可以廣義的功能通過添加另一參數提取任何屬性(參見文檔中的編譯方法)


編輯。請檢查是否去這個長度是真的有必要通過查看

var value = gridViewctl.rows[parseInt(rowindex)].cells[4].firstChild.defaultValue; 

不完全產生相同的答案。

1

謝謝大家的意見。

最後,它得到了解決如下的方式:

var rrr = gridViewctl.rows[parseInt(rowindex)].cells[4].innerHTML; 

console.log(gridViewctl.getElementsByTagName("input")[rowindex]).value) 

感謝

相關問題