У меня есть расширение chrome, которое, когда я нажимаю на него, будет нажимать на все те же кнопки элементов на странице, а затем после того, как функция будет выполнена, я хочу, чтобы она выбрала все «П на выпадении. У меня есть несколько классов «pf» на странице и вам нужно будет установить все из P. Первая функция работает, когда она переходит ко второй функции, появляется ошибка, показывающая, что параметр. Length не определен. Мой вопрос в том, как он получает все значения параметров внутри класса?Javascript, чтобы выбрать опцию drop down в классе
function clickUpdate(_callback) {
var updateArray = document.getElementsByClassName("updateButton");
[].slice.call(updateArray).forEach(function(item) {
item.click();
});
console.log("this is the array legnth: " + updateArray.length);
_callback();
}
//Get select object
var objSelect = document.getElementsByClassName("pf");
//Set selected
setSelectedValue(objSelect, "P");
function setSelectedValue(selectObj, valueToSet) {
clickUpdate(function(){
console.log("I am done with the first function");
});
for (var i = 0; i < selectObj.options.length; i++) {
if (selectObj.options[i].text == valueToSet) {
selectObj.options[i].selected = true;
return;
}
}
}
<select class="pf">
<option selected="selected" value="">Not Run</option>
<option value="P">Pass</option>
<option value="F">Fail</option>
<option value="N">N/A</option></select>
С помощью инструмента ChromeDev вы можете установить точку останова на 'var objSelect = document.getElementsByClassName (" pf ");'. и увидите значение 'objSelect'. –