需要帮助在SquareSpace上引用DOM元素。
需要帮助在SquareSpace上引用DOM元素。
我正在尝试通过GET变量来破解一个SquareSpace网站,以更改下拉菜单的选定值。
我尝试使用document.getElementsByClassName
或document.getElementsByID
引用DOM元素,以便我可以使用JS更改值。
SquareSpace对元素的引用方式很奇怪,并且HTML不能被更改,特别是在这种情况下。我对JavaScript有点生疏,希望能从专家那里得到一些帮助...
问题:如何在JavaScript中引用下拉菜单的DOM元素?也许可以使用document.getElementBy...
?
尺寸:
注意 - 我能够在CSS中使用.page-section[data-section-id="5f7bc0326befc806d06d1e5b"]
选择器引用data-item-id
。
需要帮助引用SquareSpace上的DOM元素
问题原因:
在SquareSpace上引用DOM元素时,需要获取父元素和子元素的特定属性,以确保获取到正确的元素。如果存在多个相同的元素,需要知道所需元素的索引。
解决方法:
1. 获取select元素和所需选项,将selected属性设置为'selected':
document.getElementsByTagName('select')[0].getElementsByTagName('option')[2].selected='selected';
2. 如果想根据值进行设置,可以使用如下代码:
document.getElementsByTagName('select')[0].value = 'Small | 100 Photos';
3. 最佳方法是先获取父元素,然后再获取所需元素:
document.querySelector('div[data-item-id="5f6d19150f4fd9415d8a1586"]')
这种方法可以确保获取到正确的元素,前提是data-item-id是唯一且静态的。
综合以上方法,代码如下:
document.querySelector('div[data-item-id="5f6d19150f4fd9415d8a1586"]').getElementsByTagName('select')[0].value = 'Small | 100 Photos';
ÿmit感谢您的回答。要查看解决此问题的最终代码,请参阅以下内容。