0

私は次のコードを持っています:

$newDOM = new DOMDocument('1.0', 'utf-8');
$foo = $newDOM->createElement('Input', 'THIS IS MY VALUE');
$newDOM->appendChild($foo);
echo $newDOM->saveHTML();

これは出力されるものだけです: <Input>

しかし、createElement を「div」に変更すると問題なく動作します

これは、「div」またはその他の入力で出力されるものです。

 <div>THIS IS MY VALUE</div>

これは私のvar_dump($foo)です:

object(DOMElement)#5 (17) {
  ["tagName"]=>
  string(5) "Input"
  ["schemaTypeInfo"]=>
  NULL
  ["nodeName"]=>
  string(5) "Input"
  ["nodeValue"]=>
  string(16) "THIS IS MY VALUE"
  ["nodeType"]=>
  int(1)

  ["parentNode"]=>
  string(22) "(object value omitted)"
  ["childNodes"]=>
  string(22) "(object value omitted)"
  ["firstChild"]=>
  string(22) "(object value omitted)"
  ["lastChild"]=>
  string(22) "(object value omitted)"
  ["previousSibling"]=>
  NULL
  ["attributes"]=>
  string(22) "(object value omitted)"
  ["ownerDocument"]=>
  string(22) "(object value omitted)"
  ["namespaceURI"]=>
  NULL
  ["prefix"]=>
  string(0) ""
  ["localName"]=>
  string(5) "Input"
  ["baseURI"]=>
  NULL
  ["textContent"]=>
  string(16) "THIS IS MY VALUE"
}
4

1 に答える 1

2

の 2 番目の引数createElementは、作成するタグのコンテンツです。<input>タグにテキストを含めることはできません。valueその属性を設定する必要があります。<input value="this is my value">ではなく、を生成しようとしてい<input>this is my value</input>ます。

を参照してくださいcreateAttribute

于 2013-08-07T16:56:23.110 に答える