
<style type="text/css">
#box{ width:1000px; height:500px; margin:0 auto;}
p{ float:left; margin-right:30px;}
</style>
</head>
<body>
<div id="box">
<p ><img src="img2/1jpg" width="300" height="200" id="box01" onclick="fun1()"/> </p>
<p ><img src="img2/2jpg" width="300" height="200" id="box02" /> </p>
<p ><img src="img2/3jpg" width="300" height="200" id="box03" /> </p>
</div>
<script type="text/javascript">
var imgElement = documentgetElementById("box02");
var x=8;
function fun1(){
alert(imgElement);//为什么返回的是null,全局变量怎么获取不到?
alert(x);//返回8
}
</script>
</body>
这样就可以了
页面加载是有顺序的,自上而下,当加载js时,HTML的元素节点还没有加载,所以找不到你写的元素ID。所以才会alert出一个null
这不算函数,只能算一个JS语句。
这样写,你无法在程序中的其他位置调用它。
而函数/方法只可以在程序的其他位置使用命名空间和名字来调用的。
你可以这样写:
<script type="text/javascript">
public function myAlert(){
alert("你好");
}
</script>
这样myAlert就是一个方法,你可以随意调用
可能是你得到的js数据只有值而没有html元素,例:你的到的是"内容,内容,内容";而不是
内容<br> 内容<br>;我看了看你的,看着是输入到《textarea》中,你用jquery的
alert($('textarea')html());看看<textarea>他里面的代码是怎么回事,就有可能明白了
嵌入到网页里面的JS可以有两种写法
<script language="javacript">
alert(123);
</javascript>
或者网页中嵌入
<script type="text/javascript" src="testjs"></script>
在testjs中直接写入alert(124);
这样就行啦!
是因为引用错误
修正:
<script language="text/javascript" src="jstarjs"></script>
改为:
<script type="text/javascript" src="jstarjs"></script>
已经试过了,可以的。
希望能帮到你。
结果是这样的,但infinity不是数据类型。
0不能做除数,在其他语言中一般会直接报错,但在js中,当除数是0结果就是无穷大infinity,这个是计算结果大到无法表示的意思。
这个问题主要是监听 onpaste (鼠标右键粘贴或 Ctrl + V)。
如果 input 值为空,那么很简单,在 onpaste 之后获取 input 的值就是被粘贴的内容。
但如果 input 内已经有内容,用户选择在中间部位粘贴,或者选择一部分内容后再粘贴 (替换粘贴),那实施起来就比较复杂。下面是完整的代码
function getSelectionBoundary(el, start) {var property = start "selectionStart" : "selectionEnd";
var originalValue, textInputRange, precedingRange
, pos, bookmark, isAtEnd;
if(typeof el[property] == "number") {
return el[property];
}
else if(documentselection && documentselectioncreateRange) {
elfocus();
var range = documentselectioncreateRange();
if(range) {
if(documentselectiontype == "Text") {
rangecollapse(!!start);
}
originalValue = elvalue;
textInputRange = elcreateTextRange();
precedingRange = elcreateTextRange();
pos = 0;
bookmark = rangegetBookmark();
textInputRangemoveToBookmark(bookmark);
if(/[\r\n]/test(originalValue)) {
try {
rangemove("character", 1);
isAtEnd = (rangeparentElement() != el);
}
catch(ex) {
isAtEnd = true;
}
rangemoveToBookmark(bookmark);
if(isAtEnd) {
pos = originalValuelength;
}
else {
textInputRangetext = " ";
precedingRangesetEndPoint("EndToStart",
textInputRange);
pos = precedingRangetextlength - 1;
textInputRangemoveStart("character", -1);
textInputRangetext = "";
}
}
else {
precedingRangesetEndPoint("EndToStart", textInputRange);
pos = precedingRangetextlength;
}
return pos;
}
}
return 0;
}
function getInputSelection(ele) {
var start = getSelectionBoundary(ele, true),
end = getSelectionBoundary(ele, false);
return {
start: start,
end: end,
length: end - start,
text: elevalueslice(start, end)
};
}
function detectPaste(ele, callback) {
eleonpaste = function() {
var sel = getInputSelection(ele);
var initialLength = elevaluelength;
windowsetTimeout(function() {
var val = elevalue;
var pastedTextLength =
vallength - (initialLength - sellength);
var end = selstart + pastedTextLength;
callback({
start: selstart,
end: end,
length: pastedTextLength,
text: valslice(selstart, end),
replacedText: seltext
});
}, 1);
};
}
以上都是监听 onpaste 和获取粘贴内容的函数,下面是用法。(如果你只是使用,不需要理解上面代码的内容)
windowonload = function() {// 获取要监听的 input 或 textarea
var content = documentgetElementById("content");
// 开始监听,第二个参数为回调函数,返回一个对象,其中包括
// start: 光标开始位置,end: 粘贴后光标位置
// length: 粘贴内容的长度,replacedtext: 被替换的内容
// text: 这个就是被粘贴的内容
detectPaste(content, function(pasteInfo) {
alert(pasteInfotext);
});
};<input type="text" id="content" value="" />
以上就是关于Javascript全局变量获取不到下面代 alert(imgElement)为什么返回的是null,全局变量怎么获取不到全部的内容,包括:Javascript全局变量获取不到下面代 alert(imgElement)为什么返回的是null,全局变量怎么获取不到、请问Javascript 中的alert, confirm , prompt、使用ajax技术,javascript获取数据库中的数据, alert输出结果,回车换行可以正确显示,输出到页面则不能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)