作者: sss5555 時間: 2017-8-22 01:14 標題: 想在firefox ie chrome之下兼容顯示和隱藏div該怎麼辦?
本帖最後由 sss5555 於 2017-8-22 01:55 編輯
我想在選項中選取a22時div abc2會顯示但div abc1就會隱藏, 此時input id bbb的placeholder也會轉變為文字456, 但在選取a11 a33至a55時div abc1就會出現但div abc2就會隱藏此時input id bbb的placeholder就會轉變為文字123, div的出現及隱藏不會影響table的大小
我只做到在firefox和chrome情況一樣, 但ie沒效果, 所以我想在firefox ie chrome都兼容的情況下進行, 感謝各位><~
<select size="1" class="f6" id="abc" required="required">
<option value="" selected="selected">- 選項 -</option>
<option value="a11">a11</option>
<option value="a22">a22</option>
<option value="a33">a33</option>
<option value="a44">a44</option>
<option value="a55">a55</option>
</select>
<input id="bbb" required="required"/>
<table width="200" border="1">
<tr>
<td><div id="abc1">abc1</div><div style="display:none;" id="abc2">abc2</div></td>
</tr>
</table>
[attach]2006175[/attach]
作者: Ferrari2010 時間: 2017-8-22 21:28
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width">
- <title>JS Bin</title>
- </head>
- <body>
- <select size="1" class="f6" id="abc" required="required">
- <option value="" data-bbb-placeholder='' data-abc-id='abc1' selected="selected">- 選項 -</option>
- <option value="a11" data-bbb-placeholder=123 data-abc-id=abc1>a11</option>
- <option value="a22" data-bbb-placeholder=456 data-abc-id=abc2>a22</option>
- <option value="a33" data-bbb-placeholder=123 data-abc-id=abc1>a33</option>
- <option value="a44" data-bbb-placeholder=123 data-abc-id=abc1>a44</option>
- <option value="a55" data-bbb-placeholder=123 data-abc-id=abc1>a55</option>
- </select>
- <input id="bbb" required="required"/>
- <table width="200" border="1">
- <tr>
- <td><div id="abc1" class="abc">abc1</div><div class="abc" style="display:none;" id="abc2">abc2</div></td>
- </tr>
- </table>
- </body>
- </html>
- document.querySelector('#abc').
- addEventListener('change', function(){
- var o = this.options[this.selectedIndex],
- placeholder = o.getAttribute('data-bbb-placeholder'),
- abcID = o.getAttribute('data-abc-id');
- document.querySelector('#bbb').setAttribute('placeholder', placeholder);
- Array.apply(null, document.querySelectorAll('.abc')).forEach(function(v){
- v.style.display = 'none';
- });
- if (abcID) document.querySelector('#'.concat(abcID)).style.display = 'block';
- })
