[英]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.