我试图从我的Angular.js应用程序中删除jquery,以使其更轻巧,而改用Angular的jqLite。但是该应用大量使用了jqLite不支持的find(’#id’)和find(’。classname’),仅使用了“标签名称”(根据文档)
想知道您认为改变它的最佳方法是什么。我考虑过的一种方法是创建自定义HTML标签。例如:更改
<span class="btn btn-large" id="add-to-bag">Add to bag</span>
至
<a2b style="display:none;"><span class="btn btn-large" >Add to bag</span></a2b>
和
$element.find('#add-to-bag')
至
$element.find('a2b')
有什么想法吗?其他想法?
谢谢
骗子
本质上,由@ kevin-b指出:
// find('#id')
angular.element(document.querySelector('#id'))
//find('.classname'), assumes you already have the starting elem to search from
angular.element(elem.querySelector('.classname'))
注意:
如果要从控制器中执行此操作,则可能需要查看开发人员指南中的“正确使用控制器”部分,并将表示逻辑重构为适当的指令(例如
问题内容: 我想知道是否有一种功能或某种与之等效的方法。 问题答案: 您的函数名称中缺少。返回元素的集合,这些元素需要迭代: IE8及以下版本不支持,因此您必须找到一个polyfill或使用(IE8)。
问题内容: 使用JavaScript,我们可以使用以下语法通过id获取元素: 我尝试以下按类获取元素: 但这导致了错误: 如何按类获取元素? 问题答案: DOM函数的名称实际上不是,仅仅是因为页面上的多个元素可以具有同一类,因此:。 此方法的返回值将是NodeList实例,或者是(FF的超集,例如返回的实例)。无论如何:返回值是一个类似于数组的对象: 如果由于某种原因需要返回对象作为数组,则由于其
问题内容: 我需要在网页上找到以下元素 我正在用Java为Selenium WebDriver编码。 需要该元素的确切CSS选择器才能与命令一起使用。 选择器还不够好,因为我必须根据不是链接的文本进行搜索,所以我不能使用命令。 问题答案: CSS不允许您执行基于文本的搜索。 xpath 是唯一的选择。
问题内容: 我正在尝试通过angularjs在html中查找元素。 这是html: 我试图通过类名多文件来获取按钮元素,然后我尝试 但是它不起作用,并且尝试过,但仅对标签起作用。 在angularjs中,有没有可以通过ID或类名获取元素的函数? 问题答案: 是DOM文档上的函数。它既不是jQuery也不是jqLite函数。 使用时不要在类名前添加句号: 将其包装在jqLite中(如果在An
我试着练习用CSS选择器获取值,我想出了这个(不像预期的那样工作) (我也尝试过) 我对的期望:第三个没有id属性和data-ad-show属性的元素被选中,其值将是所需的值3。
问题内容: 我的网页中有3个单选按钮,如下所示: 在jQuery中,我想在单击这三个按钮中的任何一个时获取所选单选按钮的值。在jQuery中,我们有id(#)和class(。)选择器,但是如果我想按名称查找单选按钮,该怎么办呢? 请告诉我如何解决这个问题。 问题答案: 应该做到这一点,所有这些都在文档中,该文档具有与此类似的示例: 我还应该注意,您在该代码段中有多个相同的ID。这是无效的HTML。