0

ajax応答からデータが正常に返された後、html要素を変数に抽出するにはどうすればよいですか?

これは、次の返されたデータを含むajax呼び出しです

   $.getJSON("test.php",function(data)
   {
        $.each(data, function(key, value)
        {
             alert(value); // this is working but don't know how to extract the strong element from the p element into a variable
        });
   });

ajax応答から次のhtmlデータが返されます

          <p id="testResults"><strong id="testNumber">Test 1</strong> passed - date </p>

後でこのように使用するために、強力なhtml要素を変数に入れるにはどうすればよいですか。

        var testNumberHtml = "<strong id='testNumber'>Test 1</strong>";

次に、p要素を次のような別の変数に入れます...

       var testResultsHtml =  "<p id="testResults"> passed - date </p>";
4

1 に答える 1

0

それらを分離するために少しトリックをしなければならないかもしれません。サーバー側に次のように分離して送信させることをお勧めします。

{p: "<p id="testResults"> passed - date </p>", 
 strong: "<p id="testResults"> passed - date </p>"}

それがオプションでない場合は、おそらくjavascriptで次のように行うことができます:

html

<div id="contentResult" style="display:none;"></div>​

js

var jsonResult = '<p id="testResults"><strong id="testNumber">Test 1</strong> passed - date </p>';

var jsonDiv = document.createElement("div");
jsonDiv.innerHTML = jsonResult;
var content = document.getElementById("contentResult");
content.appendChild(jsonDiv);
var strongElement = document.getElementById("testNumber");
var strongCopy = $(strongElement).clone(true);
strongElement.parentNode.removeChild(strongElement);
var testResult = document.getElementById("testResults");
var testCopy = $(testResult).clone(true);
testResult.parentNode.removeChild(testResult);
jsonDiv.parentNode.removeChild(jsonDiv);
console.log(testCopy);
console.log(strongCopy);
于 2012-10-05T04:03:53.043 に答える