① js修改另一個js文件中的值
在javaScript中,abc作為一個全局變數,等同於在window對象下定義了一個abc屬性。假設在一個名為function1的函數中執行了頁面跳轉操作,根據跳轉前引入a.js文件的頁面不同,會出現以下幾種情況:
1. 當跳轉前的頁面是2.html,並且在2.html中引入了a.js文件,那麼abc將被賦值為"abc"。頁面跳轉到1.html時,1.html頁面下的window對象中並不存在abc屬性,因此執行alert(abc)時會報錯。
2. 當跳轉前的頁面是1.html,並且在1.html中引入了a.js文件,而2.html的window對象中並不存在abc屬性,此時執行abc="abc"這樣的操作等效於定義了一個新的全局變數abc,並將其賦值為"abc"。頁面跳轉到1.html後,這個操作不會影響1.html頁面中window對象的abc屬性,1.html頁面中的abc的值仍然為初始值「」。這里需要注意的是,abc在1.html頁面中的初始值可能是空字元串或其他值。
因此,在進行頁面跳轉和變數賦值操作時,需要特別注意引入的js文件和跳轉前後頁面中的變數狀態,以確保代碼的正確執行。
總結來說,頁面跳轉前後,不同頁面下的全局變數狀態會有所不同,因此需要根據實際情況來決定如何處理變數賦值操作,以避免出現意外的錯誤。
② 關於javascript改變div的id值的疑問。求幫助十分感謝!
1、JS邏輯好像有問題吧。個人認為應該這樣子才沒問題:
function s() {
if (sheight < 900) document.getElementsByTagName(div)[0].id = "css2";
}
2、沒有getElementsById方法,document.getElementById沒有s的。
3、JS能改變的,僅是當前展示的內容,刷新以後,頁面已經重載了,所以會變回css1
JS 改成這樣,應該能實現你要的功能:
function s(o) { if (sheight < 900) o.id= "css2";}
<div onclick="s(this)" id="css1" class="style">XXX</div>
③ 怎麼用JS改變<span>標簽中的值
你這樣可以改變<span>中的值,此為測試頁面,你的代碼可以正常運行。
另外回,javascript部分我為你完善了一下答,讓用戶填寫東西以後,"訂花人不能為空"這句話變回"*"。
圈起來的部分是我添加的代碼。
④ JS 改變單選框的值。radio.checked=true; 為何改變不了。沒反應。
如果要使 單選框選中 需要該復選框的屬性checked 的值為 "checked" 而不是 true
$("#rdo1").attr("checked","checked");
還有一點要注意的是 如果要使 復選框 變成沒有選中 的話 需要移除checked 屬性 或者 checked的屬性為false
$("#rdo1").removeAttr("checked");
或者
$("#rdo1").attr("checked","false");
就是說 只有checked的屬性 為"checked" 時 才是選中狀態
還有 一組radio(即name屬相相同的radio)只能有一個處於選中狀態、查看一下你的其他組的radio是不是name屬性設置重復了。
所以你的代碼改為 $("#rdo1").attr("checked","checked"); 就可以了,下面一段簡單示例代碼
頁面裝載完成後把選項2 選中.
<html>
<scripttype="text/javascript"src="./jsfile/jquery-1.10.2.min.js"></script>
<script>
onload=function(){//裝載完成時執行
alert();
$("input[name='vehicle']").eq(0).removeAttr("checked");
$("input[name='vehicle']").eq(1).attr("checked","checked");
}
</script>
<body>
<formaction="form_action.asp"method="get">
<inputtype="radio"id="rd1"name="vehicle"value="Car"/>Ihaveacar
<inputtype="radio"id="rd1"name="vehicle"value="bus"/>Ihaveabus
</form>
</body>
</html>
⑤ javascript如何通過id獲取按鈕,然後改變按鈕的value值
如果想有一個通用的方法,首先你應該有id為(obj.id+2)的這個按鈕,如果沒,就會報錯的!
這是解決你現在的問題
<script type="text/javascript">
function buttonchange(obj)
{
var sum=parseInt(obj.id)+2;
document.getElementById(sum).value=obj.value;
}
</script>
<input name="3" type="button" id="5" value="改變" onclick="buttonchange(this)" />
<input name="3" type="button" id="7" value="" onclick="" />
你寫的obj.id+2會被認為是52,
因為obj.id被解析為字元串類型,和2相加,則會認為兩個字元串相加,所以是52,學過Java你應該知道數據類型的關系的!