【发布时间】:2014-12-16 02:31:48
【问题描述】:
我在 Magento 主题中有一些 HTML,我不允许编辑,但是我需要想出一些 JavaScript 来定位一个非常难以定位的项目并更改它的内容。
以下是我必须使用的区域的基本结构,我删除了所有兄弟姐妹,现在只显示相关代码。
<label for="options_2074">None</label> 这一行总是有一个 ID 号,所以我不能用它来定位我的元素。
但我需要将该行上的文本从 None 更改为 Black 并添加
<span id="backingBlackTooltip"><img src="https://www.neonandmore.com/tooltips/question_mark.png"></span> 在该行的结束 </label> 标记之后也是如此。
我需要一些帮助来构建 JavaScript 选择器代码来实现这一点。
还要注意,我不能在这个项目上使用 jQuery =(
这是我可以使用的主要内容...#product-options-wrapper .input-box:first .options-list + .label label
任何帮助不胜感激。这里设置了一个JSFiddle....http://jsfiddle.net/jasondavis/0b61L398/
<div class="product-options" id="product-options-wrapper">
<dl class="last">
<dt><label>Backing</label></dt>
<dd>
<div class="input-box">
<ul id="options-2074-list" class="options-list">
<li>
<input type="radio" id="options_2074" class="radio product-custom-option" name="options[2074]">
<span class="label">
<label for="options_2074">None</label>
</span>
</li>
</ul>
</div>
</dd>
</dl>
</div>
【问题讨论】:
-
我使用
jQuery实现了这一点,但我认为这不会有帮助:jsfiddle.net/0b61L398/6。顺便说一句,您可以使用label[for]使用for属性定位label。 -
可以用this的方法吗?
-
不确定这是否通用,但如果我假设您的 html 不会改变(尽管它很丑),它会起作用。 var myEls=document.querySelectorAll('label'); myEls[1].innerHTML = '黑色'。更清洁的解决方案可能是使用 Fahad 对 label[for] 的建议并使用伪选择器。
-
类似这样的东西:jsfiddle.net/0b61L398/11
标签: javascript css