使用Javascript如何识别给定位置的元素?基本上我正在寻找一个带有两个输入参数(x和y坐标)的函数,并返回由参数表示的屏幕位置的html元素.
我想获取我单击的HTML文档中的当前元素(无论是什么元素).我在用:
$(document).click(function () {
alert($(this).text());
});
Run Code Online (Sandbox Code Playgroud)
但非常奇怪的是,我得到了整个(!)文档的文本,而不是单击的元素.
如何只获得我点击的元素?
<body>
<div class="myclass">test</div>
<p>asdfasfasf</p>
</body>
Run Code Online (Sandbox Code Playgroud)
如果我点击"测试"文本,我希望能够$(this).attr("myclass"在jQuery中读取属性.
我正在使用PHP DOM,我正在尝试在DOM节点中获取具有给定类名的元素.获得该子元素的最佳方法是什么?
更新:我最终Mechanize用于PHP,这更容易使用.
<p data-foo="bar">
Run Code Online (Sandbox Code Playgroud)
你怎么能做相同的
document.querySelectorAll('[data-foo]')
Run Code Online (Sandbox Code Playgroud)
我需要一个至少在IE7中工作的本机解决方案.我不关心IE6.
考虑这个功能:
function validate()
{
var acc = document.getElementsByName('acc').value;
var pass = document.getElementsByName('pass').value;
alert (acc);
}
Run Code Online (Sandbox Code Playgroud)
这个HTML部分:
<table border="0" cellpadding="2" cellspacing="0" valign="top">
<tr>
<td class="td1">Account</td>
<td class="td2"><input type="text" name="acc" /></td>
</tr>
<tr class="td1">
<td>Password</td>
<td class="td2"><input type="password" name="pass" /></td>
</tr>
</table>
<div><button onClick="validate()" class="cupid-greenx">Login now</button></div>
Run Code Online (Sandbox Code Playgroud)
警告框显示,但显示"未定义".
我使用普通的js来改变标签元素的内部文本,我不确定我应该使用innerHTML或nodeValue或textContent.我不需要创建新节点或更改HTML元素或任何东西 - 只需替换文本.这是代码的示例:
var myLabel = document.getElementById("#someLabel");
myLabel.innerHTML = "Some new label text!"; // this works
myLabel.firstChild.nodeValue = "Some new label text!"; // this also works.
myLabel.textContent = "Some new label text!"; // this also works.
Run Code Online (Sandbox Code Playgroud)
我查看了jQuery源代码,它使用了nodeValue一次,但是innerHTML和textContent几次.然后我发现这个jsperf测试表明firstChild.nodeValue明显更快.至少这就是我所说的意思.
如果firstChild.nodeValue快得多,那捕获的是什么?它没有得到广泛支持吗?还有其他问题吗?
在JavaScript中,您如何检查元素是否实际可见?
我不仅仅意味着检查visibility和display属性.我的意思是,检查元素不是
visibility: hidden 要么 display: none由于技术原因,我不能包含任何脚本.然而,我可以使用原型,因为它已经在页面上.
我有一个标题字符串和一个链接字符串.我不知道如何将两者结合在一起使用Javascript在页面上创建链接.任何帮助表示赞赏.
编辑1:为问题添加更多细节.我试图解决这个问题的原因是因为我有一个RSS提要并且有一个标题和URL列表.我想将标题链接到URL以使页面有用.
编辑2:我正在使用jQuery,但它是全新的,并不知道它可以帮助在这种情况下.
使用PhoneGap时,它有一些使用的默认JavaScript代码document.addEventListener,但我有自己的代码使用window.addEventListener:
function onBodyLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener("touchmove", preventBehavior, false);
window.addEventListener('shake', shakeEventDidOccur, false);
}
Run Code Online (Sandbox Code Playgroud)
有什么区别,哪个更好用?
我有一个看似简单的问题,没有明显的(通过阅读Angular JS文档)解决方案.
我有一个Angular JS指令,它根据其他DOM元素的高度进行一些计算,以定义DOM中容器的高度.
类似于此的东西在指令内部发生:
return function(scope, element, attrs) {
$('.main').height( $('.site-header').height() - $('.site-footer').height() );
}
Run Code Online (Sandbox Code Playgroud)
问题是,当指令运行时,$('site-header')无法找到,返回一个空数组而不是我需要的jQuery包装DOM元素.
是否有我可以在我的指令中使用的回调只在DOM加载后运行,我可以通过正常的jQuery选择器样式查询访问其他DOM元素?