Отображение двух динамически добавленных элементов в разных строках - PullRequest
0 голосов
/ 10 августа 2010

У меня есть HTML страница, подобная следующей:

<html>
    <body>
         <div id="emaildiv" class="main" style="width:150px;height:80px;"></div>
    </body>
</html>

Я хочу добавить DIV с TEXT и BUTTON к нему динамически.Все они сделаны с использованием следующего JavaScript.

function newEmailForContact() {
    var parentDiv = document.getElementById('emaildiv');
    var newEmailDiv = document.createElement('div');
    newEmailDiv.setAttribute('id','newEmailDiv');
    newEmailDiv.setAttribute('style', 'display:table;');

    var newEmail = document.createElement('INPUT');
    newEmail.setAttribute('type','text');
    newEmail.setAttribute('name','newEmail');
    newEmail.setAttribute('class', 'textfield_addemail');
    newEmail.setAttribute('id','newEmail');

    var addEmailBtn = document.createElement('INPUT');
    addEmailBtn.setAttribute('type','button');
    addEmailBtn.setAttribute('name','addEmail');
    addEmailBtn.setAttribute('id','addEmail');
    addEmailBtn.setAttribute('value', 'Add');
    newEmailDiv.appendChild(newEmail);
    newEmailDiv.appendChild(addEmailBtn);

    parentDiv.appendChild(newEmailDiv);
}

Но TEXT и Кнопка отображаются в двух разных строках.

РЕДАКТИРОВАТЬ: - Класс CSS: -

.textfield_addemail    {
    border-width: 1px;
    border-style: solid;
    border-color: #999999;
    background-repeat: repeat-x;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #333333;
    width: 120px;
    height: 15px;
    }

Я хочу отобразить оба в одной строке.Любое решение?

Ответы [ 2 ]

2 голосов
/ 10 августа 2010

Проблема в том, что ваши начальные <div> недостаточно широки в 150px, просто немного увеличьте размер, например:

<div id="emaildiv" class="main" style="width:250px;height:80px;"></div>​

Вы можете увидеть рабочий / обновленный пример с только это изменение здесь .

0 голосов
/ 10 августа 2010

Не указывайте

newEmailDiv.setAttribute('style', 'display:table;');

Тогда ваш span будет отображаться как inline , а ваша кнопка должна появиться рядом с ним

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...