javascript - 如果 "value"属性为 "type",如何设置 "number"属性

标签 javascript angularjs selenium selenium-webdriver webdriver

我有一个场景可以自动化显示顺序字段,该字段的类型属性是数字,例如 type=number,并且其上没有值属性。

<td width="150px">
     <div class="ngTableCell text-center" ng-show="ChildDet.SectionID==parentDet.ID">
     <input type="number" min="1" max="2" onkeydown="return false" ng-focus="OrderDetailsFocus(ChildDet)" ng-blur="OrderDetailsChange(parentDet.ID,$index,ChildDet)" ng-disabled="ChildDet.CheckStatus==true ?false:true" ng-model="ChildDet.OrderDetails" style="width:50px" class="ng-valid-min ng-touched ng-dirty ng-valid ng-valid-max ng-valid-number">
     <label>&nbsp;</label>
                        </div>
                    </td>

最佳答案

首先,区分 HTML“属性”和 JavaScript 对象“属性”非常重要...

属性是 HTML 标记,定义它们所附加的元素的特定特征。我们使用属性来设置元素的初始状态。

属性存储对象特征的当前“内存中”值。

属性和属性之间通常存在 1 对 1 的映射(即标记中设置的 id 属性值将与 id 属性相同代表该 HTML 元素的对象的名称)。但是,当您通过 JavaScript 访问对象的属性时,您获得的初始值来自 HTML 中的初始值,但从那里,JavaScript 可能会更改内存中的该值。

几乎所有 HTML 表单元素都可以有 value 属性。这并不意味着它“必须”在源代码中静态设置一个(这就是设置默认值的方式)。 value 属性是保存数据的位置,您可以从 JavaScript 访问该属性来获取字段的值。

因此,在您的情况下,虽然您没有显式初始化 value 属性(以及 value 属性),但这并不意味着该元素不有一个。这只是意味着该值必须来自其他地方并且带有表单元素,这通常是用户填写的数据。

只需在用户有机会设置value 属性后即可访问它。

document.querySelector("button").addEventListener("click", function(){
  console.log(document.querySelector("input[type=number]").value);
});
     <input type="number" min="1" max="2" onkeydown="return false" ng-focus="OrderDetailsFocus(ChildDet)" ng-blur="OrderDetailsChange(parentDet.ID,$index,ChildDet)" ng-disabled="ChildDet.CheckStatus==true ?false:true" ng-model="ChildDet.OrderDetails" style="width:50px" class="ng-valid-min ng-touched ng-dirty ng-valid ng-valid-max ng-valid-number">
     <label><button>Click to get value</button></label>

关于javascript - 如果 "value"属性为 "type",如何设置 "number"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44523637/

相关文章:

javascript - 图像 slider 在包含在 php 页面中时不起作用

javascript - javascript 与 html 中 'onclick' 之间的区别

javascript - 检查日期是否已经用时刻解析

AngularJS : How to prevent a request

javascript - 如何处理月份名称变化 - Angular 日期本地化

vba - 使用 Chromeoptions 在 Webdriver 中处理

Python + Selenium ( Chrome ): How can I extract a specific text from my current url and use the extracted text to go to another?

javascript - 一个现有的 JS 方法来迭代像 find() 这样的数组,但将返回我的检查方法生成的值而不是数组元素

angularjs - 使用 Restangular 删除默认 header

java - 如何使用 xpath 相对于通过 innerText 标识的另一个元素来定位一个元素