为了账号安全,请及时绑定邮箱和手机立即绑定

我想实现如下的功能,请问如何实现?

我想实现如下的功能,请问如何实现?

Cats萌萌 2022-11-03 13:09:00
var $={};$.G=function() {var a=arguments[0];var b=(arguments[1]==null)?false:true;var c= typeof(a);if(!b) {switch (c) {case "string" :return document.getElementById(a);break;case "object" :return a;break;}} else {if(c=="string") {return document.getElementsByTagName(a);} else {return null;}}}$.G(str)获得对象,然后我想实现$.G(str).getValue() (这个函数可以返回innerHTML或者value值) 既然$.G(str)是一个对象 我就想扩展Object添加了Object.prototyp.getValue来实现但是 在ie下一直提示“对象不支持次属性或方法”Object.prototyp.getValue=function(){alert(this);}
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

你犯了一个错误,$.G(str)返回的是dom对象,getValue() 却是$.G下面的方法。
改成这样就可以了
<html>
<head>

<script type="text/javascript">
var $ = {};
$.G = function() {
var a = arguments[0];
var b = (arguments[1] == null) ? false : true;
var c = typeof (a);

if (!b) {
switch (c) {
case "string":
a = document.getElementById(a);
break;
case "object":
break;
}
} else {
if (c == "string") {
a = document.getElementsByTagName(a);
} else {
a = null;
}
}
this.getValue = function() {
if (a.tagName == "INPUT") {
return a.value;
}
else
return a.innerText;
}
return this;
}
function getSelected(obj) {
alert($.G(obj).getValue());
}
</script>

</head>
<body>
<div id="msg">
dddddddd</div>
<input type="text" id="txt" value="inputvalue"/>
<input type="button" onclick="getSelected('txt')" value="取text" />
<input type="button" onclick="getSelected('msg')" value="取div" />
</body>
</html>


查看完整回答
反对 回复 2022-11-08
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JavaScript 测试</title>
<script type="text/javascript">
$ = {};
$.G = function(a, b) {
var obj = null;
var c = typeof(a);
if(b) {
if(c == "string") obj = document.getElementsByTagName(a);
} else {
obj = (c == "object") ? a : document.getElementById(a);
}
return {
getObject: function() {
return obj;
},
getValue: function() {
return obj ? obj.value : null;
}
}
}
</script>
</head>
<body>
<input type="text" id="text1" value="1" />
<input type="button" id="button1" value="测试" onclick="alert($.G('text1').getValue());" />
</body>
</html>


查看完整回答
反对 回复 2022-11-08
  • 2 回答
  • 0 关注
  • 72 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号