【发布时间】:2015-03-06 15:12:26
【问题描述】:
我有以下代码:
<table id="first">
<tr class="my-field my-field-color-picker" data-name="background_colour" data-type="color_picker">
<td class="my-input">
<input type="text" class="wp-color-picker">
</td>
</tr>
<tr class="my-field my-field-wysiwyg" data-name="text_block" data-type="wysiwyg">
<td class="my-input">
<iframe>
<html>
<body id="tinymce" class="mce-content-body">
some text
</body>
</html>
</iframe>
</td>
</tr>
</table>
<table id="second">
<tr class="my-field my-field-color-picker" data-name="background_colour" data-type="color_picker">
<td class="my-input">
<input type="text" class="wp-color-picker">
</td>
</tr>
<tr class="my-field my-field-wysiwyg" data-name="text_block" data-type="wysiwyg">
<td class="my-input">
<iframe>
<html>
<body id="tinymce" class="mce-content-body">
some text
</body>
</html>
</iframe>
</td>
</tr>
</table>
在加载时,我想将 background-color 更改为所有 body 元素(位于 iframe 内)作为文本输入中处于相同 tr 级别的任何值的值作为body 的父tr。
所以我需要在tr['data-type="wysiwyg"] iframe 中获取所有body 元素,然后将body 元素css 背景设置为最接近的tr['data-name"background_colour"] 兄弟姐妹input.wp-color-picker 的值。
希望这是有道理的。 iframe 在同一个域中。
更新:我能够定位正确的 body,但现在我需要弄清楚如何获取另一个 tr 中的文本输入值,但与 body 的父级 tr 和使用它作为身体的背景颜色。
演示:https://jsfiddle.net/pgr8wzqb/9/
【问题讨论】:
-
看起来像一个简单的选择器?到目前为止你尝试过什么?
-
iframe 对于不在其中的 javascript 来说是有问题的。丢失 iframe 并通过 ajax 加载其内容
-
所以你的意思是,#first 中的 iframe 将根据 #first 中的文本输入而改变,同样的情况也会发生在 #second 中?
-
是的,这是真的。页面加载时文本输入的值已经存在。
-
我认为皮特先生的最后一条评论完美地回答了这个问题。
标签: javascript jquery html css iframe