我想要做的就是获取当前的类名,而java 在我的类名末尾添加了一个无用的无意义$ 1.我怎样才能摆脱它并只返回实际的类名?
String className = this.getClass().getName();
Run Code Online (Sandbox Code Playgroud) 我有以下问题:我得到一个传递的类的实例,并想知道此实例的类的名称.怎么弄这个?
我会使用document.getElementsByClassName,但IE不支持它.
所以我尝试了Jonathan Snook的解决方案:
function getElementsByClassName(node, classname) {
var a = [];
var re = new RegExp('(^| )'+classname+'( |$)');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))a.push(els[i]);
return a;
}
var tabs = document.getElementsByClassName(document.body,'tab');
Run Code Online (Sandbox Code Playgroud)
......但IE仍然说:
Object不支持此属性或方法
任何想法,更好的方法,错误修复?
我宁愿不使用涉及jQuery或其他"笨重的javascript"的任何解决方案.
我得到了它的工作!
正如@joe提到的那样,函数不是一种方法document
.
所以工作代码看起来像这样:
function getElementsByClassName(node, classname) {
var a = [];
var re = new RegExp('(^| )'+classname+'( |$)');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))a.push(els[i]);
return a;
}
var tabs = getElementsByClassName(document.body,'tab'); …
Run Code Online (Sandbox Code Playgroud) javascript internet-explorer class classname internet-explorer-8
我正在研究一个项目,一个要求是如果main方法的第二个参数以'/'开头(对于linux)它应该将它视为绝对路径(不是问题),但如果它不是以'/',它应该获取类的当前工作路径并将其附加到给定的参数.
我可以通过多种方式获取类名/
,/
和System.getProperty("java.class.path")
等..
问题是,这只给了我存储包的目录 - 即如果我有一个类存储在".../project/this/is/package/name"中,它只会给我"/ project/"并忽略实际.class文件所在的包名称.
有什么建议?
编辑:这是解释,取自练习说明
sourcedir可以是绝对的(以"/"开头)或相对于我们运行程序的位置
sourcedir是main方法的给定参数.我怎么能找到那条路?
鉴于:
case class FirstCC {
def name: String = ... // something that will give "FirstCC"
}
case class SecondCC extends FirstCC
val one = FirstCC()
val two = SecondCC()
Run Code Online (Sandbox Code Playgroud)
我怎样才能"FirstCC"
从one.name
和"SecondCC"
从two.name
?
在python(和其他一些语言)我学到了,类的名称应该用小写字母写,除了第一个字母,它应该是大写字母.例:
class FooBar:
...
Run Code Online (Sandbox Code Playgroud)
类应该放在一个文件中,名称与类相同.在这个例子中,它将是一个文件foobar.py
.如果我想在foo
某处导入该类,我必须这样做:
from foobar import FooBar
Run Code Online (Sandbox Code Playgroud)
这个惯例让我有些困惑.我的直觉告诉我,如果文件名表示一个类,那么它应该用大写的第一个字母写,也就是说FooBar.py
.这在文件名中看起来并不漂亮.也许有人可以告诉我这是什么标准惯例?
我希望我的问题可以理解.:-)
我记得有人在NetBeans中使用快捷方式打开一个类似于phpStrom的对话框,它可以根据类名打开文件,或者是文件名.那是什么?
netbeans screenshot keyboard-shortcuts openfiledialog classname
我动态创建一个新的div
(带有"textbox"类和ID),以及其中的一些其他元素,稍后在我的代码中我将其绑定div
到click事件,并显示单击的元素,如下所示:
$('#textbox_'+i).bind('click', function(event){
alert(event.target.className);
}
Run Code Online (Sandbox Code Playgroud)
这很好,它会给我textbox
一个显示的类.但event.target.hasClass()
似乎没有用.所以,当我执行以下操作时,没有任何反应:
$('#textbox_'+i).bind('click', function(event){
if(event.target.hasClass('textbox')) { alert('got it!'); }
}
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的方式,在我看来,event.target.hasClass()
这是行不通的.有没有其他方式来处理事件或我做错了什么?
我正在编写一个模拟其他应用程序按键的测试应用程序.对于每次按键,我都要检查是否显示了正确的窗口/窗体.所以我所做的就是显示窗口的指针并获得它的窗口标题.但是,并非所有窗口/窗体都显示窗口标题.所以我认为最好得到类的名称.我怎样才能得到班级的名字?
QWidget *pWin = QApplication::activeWindow();
Run Code Online (Sandbox Code Playgroud)
当我尝试:
pWin->className();
Run Code Online (Sandbox Code Playgroud)
得到班级的名字,我得到:
"错误:类QWidget没有名为'className'的成员"
有人能告诉我正确的方法吗?
我在我的React项目中创建了一个模态,它需要在模态打开时将类添加到主体,并在关闭时删除.
我可以通过运行一些添加/删除类的vanilla javascript来实现旧的jQuery方式,但这并不像普通的React哲学那样.
我应该在我的顶级组件上设置setState来说天气模式是打开还是关闭?即使我这样做了,因为它渲染到页面上的div中,它仍然是编辑body元素的副作用,所以这个额外的布线有什么好处吗?