标签: element

获取子元素的id并使用jquery存储在变量中?

我基本上都试图完成主题所暗示的内容,但我在警报中得到"未定义",我不完全确定原因.我对jquery相当新,所以,我可能有错误的语法,但不知道从哪里开始.我将发布我的两次尝试,这两次尝试都会在警报中产生"未定义"...

//In my first attempt, I'm trying to get the id of the inner a tag
<ul>
                <li id="l1" class="active"><a href="#c1">Samp 1</a></li>
                <li id="l2" class=""><a href="#c2">Samp 2</a></li>
                <li id="l3" class=""><a href="#c3">Samp 3</a></li>
        </ul>

var selected = $(".active).children("a").attr("id");
    alert(selected);

//In my second attempt, I'm trying to get the id of the currently selected li
    var selected = $(".active").attr("id");
    alert(selected);
Run Code Online (Sandbox Code Playgroud)

jquery attributes element

9
推荐指数
1
解决办法
4万
查看次数

没有jQuery的现代浏览器的width()和height()

我试图为弹性div实现一个简单的fold/unforld效果,即当元素的实际尺寸不是通过CSS设置时,因此不能轻易确定.所以我需要jQuery的width()和height()等价于任意元素; 方法应返回可分配给*.style.width/height的内容,以实现折叠/展开效果.这些方法也可以是设置者,但不一定是因为它无关紧要(或者不是吗?)

兼容性:IE8 +和3个适当的团队:Firefox,Chrome,Safari.除了"使用jQuery"之外,SO没有其他答案,我现在不想这样做.问题是我不需要支持像IE6/7和Netscape这样的古老浏览器.我希望我的代码只是简单的,适用于现代浏览器的首页JavaScript.删除IE9 for IE9也是一种选择.

我认为答案可能对许多Web开发人员有用.谢谢!

编辑:我当然理解,分析jQuery(以及丢弃古老的怪癖)是一个不错的选择,但我认为有人已经这样做并且可以与我们分享.

javascript height element width

9
推荐指数
1
解决办法
5313
查看次数

struct中的一个元素数组

为什么某些struct使用单个元素数组,如下所示:

typedef struct Bitmapset
{
 int nwords;
 uint32 words[1];
} Bitmapset;
Run Code Online (Sandbox Code Playgroud)

为了方便后者的动态分配?

arrays struct element

9
推荐指数
2
解决办法
7061
查看次数

如何通过Google Chrome上下文菜单获取右键单击的元素?

我在Google Chrome中创建了一个上下文菜单项,如下所示:

chrome.contextMenus.create({
 "title":"My Context Menu Item", 
 "contexts":["editable"], 
 "onclick": onClick
});
Run Code Online (Sandbox Code Playgroud)

onClick回调接收两个参数:一个OnClickInfo对象和一个标签对象.这两个对象似乎都不包含对调用上下文菜单时右键单击的DOM元素的引用.我有console.logged这两个对象但在任何地方都没有看到对目标元素的任何引用.

期望的结果:

  • 用户右键单击可编辑元素
  • 用户单击我的上下文菜单项
  • onClick回调中,让我的扩展名搜索相对于目标右键单击元素的父"form"元素

就目前而言,它看起来并不像Chrome提供对目标元素的任何引用.有没有人找到解决这个限制的方法?

google-chrome element contextmenu

9
推荐指数
1
解决办法
2092
查看次数

使用JavaScript跟踪所有单击的元素

我想跟踪在HTML页面上单击的所有元素.我需要一个很好的方法来引用完全被点击的元素(所以我将能够在稍后重播相同的单独HTML页面上的点击).

有没有一个很好的方法来引用被点击的元素?

我可以为页面上的每个元素添加唯一的id和类名.但我认为必须有一个更合适的方式?

我将重播点击的HTML页面将是相同的.

有点精简(但更准确的信息是它的元素,也许可以收集)......

用于跟踪被点击的元素的代码

var arrayWithElements = new Array();

document.onclick = clickListener;

function clickListener(e) {
    var clickedElement;
    if(e == null) {
        clickedElement = event.srcElement;
    } else {
        clickedElement = e.target;
    }
    arrayWithElements.push(clickedElement)
    alert(arrayWithElements);
}
Run Code Online (Sandbox Code Playgroud)

将在相同的HTML页面上使用的代码

document.someHowGetTheElement().onclick();
Run Code Online (Sandbox Code Playgroud)

javascript tracking element onclick

9
推荐指数
1
解决办法
2万
查看次数

jQuery注释/取消注释<! - element - >

我正在寻找一种方法,用jQuery将一个元素包装到注释中,如:

<!--
<div class="my_element"></div>
-->
Run Code Online (Sandbox Code Playgroud)

还有一种删除评论的方法.

这可能吗?因为我找不到任何相关的东西.

javascript jquery comments element

9
推荐指数
1
解决办法
1万
查看次数

如何从DOM中删除元素?

每当我尝试等待从我的量角器测试正在测试的网页上的当前DOM树中删除DOM元素时,我就遇到了这个问题.当我尝试等待DOM元素被另一个线程中的user2912739提供的这种漂亮的技术隐藏时,我已经掌握了它.

var el = element(by.css('.your-css-class'));
return browser.wait(protractor.until.elementIsNotVisible(el));
Run Code Online (Sandbox Code Playgroud)

这很不错.但是,当等待从DOM树中删除的元素时.isDisplayed(),.isPresent()或者上面的行似乎都不起作用.测试将继续运行,但看起来它正在尝试获取该元素但从未成功,因此它最终会根据配置文件的超时设置超时.例如.这是日志.

超时:等待规格完成30000毫秒后超时

每当您处理测试是否从DOM树中删除元素时,这种情况的用例可能非常频繁,例如,当用户单击取消该模态元素的操作时,关闭并从页面中删除的模式,或者您只想"删除"的元素,以便它不再存在于页面上.因此,在测试中,您只想在从DOM树中删除后立即继续测试运行.

我搜索了量角器和web驱动程序api,似乎没有api可以完成这项工作.

dom element wait protractor

9
推荐指数
1
解决办法
1万
查看次数

我何时以及如何使用selenium webdriver按标记名定位元素?请举例说明

我在使用selenium进行测试时使用了大部分元素定位器,但使用频率非常低的'TagName'定位器.请举例说明.

selenium element locate tagname

9
推荐指数
1
解决办法
5万
查看次数

在Ruby中如何找到一个元素数组的索引?

在Ruby 2.4中,如何在另一个数组中找到数组元素的最早索引?也就是说,如果数组的任何元素出现在另一个数组中,我想得到第一个索引.我认为find_index可能会这样做,但是

2.4.0 :004 > a = ["a", "b", "c"]
 => ["a", "b", "c"]
2.4.0 :005 > a.find_index("a")
 => 0
2.4.0 :006 > a.find_index(["b", "c"])
 => nil
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我希望看到输出"1",因为元素"b"出现在数组"a"的索引1处.

ruby arrays element find

9
推荐指数
3
解决办法
2万
查看次数

硒不能单击元素,因为其他元素使元素模糊

设定

我正在使用Python 3.x和Selenium填写查询字段,然后单击搜索按钮,

# element containing the product search bar and buttons
search_area = el_id('Products').find_element_by_class_name('searchArea')

# insert name of file to be duplicated
name_field = search_area.find_element_by_xpath("//input[@type='text']")
name_field.clear()
name_field.send_keys('to_be_duplicated')  

# click search button
search_area.find_element_by_xpath('span/a[1]').click()
Run Code Online (Sandbox Code Playgroud)

在哪里el_id(x) = browser.find_element_by_id(x)


问题

执行上面的代码会产生以下错误,

ElementClickInterceptedException: Element <a class="button button-fleft searchButton" href="#"> is not clickable at point (577.6166763305664,225.06666564941406) because another element <div class="blockUI blockOverlay"> obscures it
Run Code Online (Sandbox Code Playgroud)

我可以通过在抓取并单击按钮之前插入一个硬等待来解决此错误,就像这样,

# click search button
time.sleep(1)
search_area.find_element_by_xpath('span/a[1]').click()
Run Code Online (Sandbox Code Playgroud)

但是我宁愿以不同的方式解决它,所以我遵循了这个答案并做了以下工作,

# click search button
search_button = search_area.find_element_by_xpath('span/a[1]')
WebDriverWait(driver, 10).until_not(EC.visibility_of_element_located((By.XPATH, …
Run Code Online (Sandbox Code Playgroud)

python selenium element

9
推荐指数
3
解决办法
1万
查看次数