簡體   English   中英

獲取文本並輸入屬性值

[英]Get text and put in attribute value

我想從“ p”標簽之間獲取文本,並將其放在標題值中。

之前:

<option title="" value="Put Text">Put Text</option>

后:

<option title="$1,179.83" value="Put Text">Put Text</option>


任何人都知道可以完成此操作的JavaScript嗎?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Get text and put in attribute value</title>
</head>

<body>


<div class="Text">
 <p>$1,179.83</p>
</div>


<form action="">

  <fieldset>

    <select class="putText" name="put-Text">
      <option title="" value="Put Text">Put Text</option>
    </select>

  </fieldset>

</form> 


</body>
</html>



* ** * ** * ** * ** * ** * ** * ** * ** * ** * **更新2011-09-13 * ** * ** * ** * ** * * * * ** * ** * ** * ** * **

代碼正在運行。 該代碼也適用於ie6-8:

獲取文本並輸入屬性值

向選項添加ID

<option id="an_option" title="" value="Put Text">Put Text</option>

或像這樣得到它

var an_option = document.getElementsByClass("putText")[0].getElementsByName("option")[0];

$ 1,179.83保存在

var vall = document.getElementsByClass("Text")[0].getElementsByName("p")[0].textValue;

通過設置標題

document.getElementById("an_option").title = vall;
// or
an_option.title = vall;

但是請注意,按班級尋址是模糊的,並且很容易被誤認為
如果需要正確處理ID,最好使用ID(讀取ID和CLASS屬性之間的差異)

是的..使用jQuery非常簡單:

$('.putText').attr('title', $('.Text p').text());

應該適用於IE4 +和NS7 +的所有瀏覽器

對於較新的瀏覽器,內置了document.getElementsByClassName

此處演示

window.onload=function() {
  var pTag = document.getElementsByClassName("Text")[0].getElementsByTagName("p")[0];
  var amount = pTag.innerHTML; 
 // not sure title is useful on option in all browsers
  document.getElementsByTagName('option')[0].title=amount;
}    

舊版瀏覽器的額外代碼

if (!document.getElementsByClassName)
  document.getElementsByClassName=function (oElm, strTagName, strClassName){
/*
Written by Jonathan Snook, http://www.snook.ca/jonathan
Add-ons by Robert Nyman, http://www.robertnyman.com
*/        
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
    oElement = arrElements[i];
    if(oRegExp.test(oElement.className)){
        arrReturnElements.push(oElement);
    }
}
return (arrReturnElements)

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM