我正在尝试使用Chrome小书签来从网站上获取数据以进行工作。我无权修改该网站的代码。
这是我尝试获取的字段的示例:
<div style="width:100%; height:100%;" bindonce="" class="ng-scope">
<de-field-label>
<div class="pull-left ng-scope" style="width: 100%">
<label class="pull-left">Last Name</label>
</div>
</de-field-label>
<input class="tt-input ng-scope"
bo-class="{'tt-agency-required': field.agencyValidation === 1}"
de-cascade=""
ng-disabled="true"
de-input-mask=""
de-text-box=""
sectionid="0b340920-8989-ce72-7bb4-08d51598a6d9-0"
id="Victims_0b340920-8989-ce72-7bb4-08d51598a6d9_0_lastName"
disabled="disabled">
</div>
该ID是动态生成的
答案 0 :(得分:4)
您可以使用属性选择器来检查ID是否以某些东西开头
document.querySelector('[id^=Victims_]')
或以某物结尾
document.querySelector('[id$=lastName]')
答案 1 :(得分:0)
由于您不知道ID是什么,因此getElementById
对您毫无用处。
找到有关唯一标识元素的元素的其他信息,例如类或data-*
属性,或者它在DOM中与您确实知道其ID的元素的关系。简而言之,您可以用selector表达的任何内容。
然后将其用作querySelector
的参数。
答案 2 :(得分:0)
如果我没有误解,ID总是不同的,所以您必须使用其他东西来识别输入内容,然后去阅读ID 我将尝试:
var input = document.getElementsByClassName("tt-input").item(0);
var id = input.id