2016-10-19 2 views
0

나는 다음과 같은 문제가 :패스 jQuery를 텍스트() - 함수에 변수

나는 document의 모든 <td> -elements을 통해 루프를 원하고 (SP.Services를 사용하여) 셰어 포인트에서 일부 데이터를 텍스트를 교체 . <td>의 특정 텍스트가 발견되면

updateData(); 

function updateData() { 

    $(document).find('td').each (function() { 

      var contentTD = $(this).text().trim(); 

      if (contentTD.indexOf("ABC\\") >= 0) { 

       $(this).text(getUserDataFromSP (contentTD, 'Title')); 

      } 

    }); 

} 

, 그것은이 함수에 전달해야합니다 경우, getUserDataFromSP (contentTD, 'Title')
그러나 : 나는 contentTD를 통과하면

function getUserDataFromSP (userName, neededInformation) { 

    var managerName; 
    var user = userName; 

    $().SPServices({ 
     operation: "GetUserProfileByName", 
     async: false, 
     AccountName: user, 
     completefunc: function (xData, Status) { 
      managerName = $(xData.responseXML).text(); 
      var managerLength = managerName.length; 
      var indexofManager = managerName.indexOf(neededInformation); 
      managerName = managerName.substring(indexofManager + 11, managerLength); 
      var indexOffalse = managerName.indexOf("false"); 
      managerName = managerName.substring(0, indexOffalse); 
     } 
    }); 

    return managerName 
} 

문제는, 그것은 작품을 나던 나는 이것을한다, 작동한다 : getUserDataFromSP ("ABC\\testUserName", 'Title')

그것은 $(this).text().trim() 같이 보인다! = 끈?

제안 사항?

+0

가'을 console.log (contentTD)를 설정하고, '실제로 포함 된 내용을 확인하기 위해 그 값을 설정 한 후. – ZiNNED

+0

나는'ABC \\ testUserName'을 얻습니다. 내가 장님이 아니기 때문에'console.log'의 출력을'getUserDataFromSP' - 공식을위한 입력으로 사용했습니다. ( –

+0

잘 모르겠습니다, 일반적인 팁 tho : 문서 선택기를 사용하지 마십시오. head 등을 포함한 모든 태그를 검색합니다. tds (좋지 않은 html-practice btw) 컨테이너를 사용하고 선택자를이 컨테이너로 설정하십시오. – sandrooco

답변

0

해결책을 찾았습니다.

"\"는 이스케이프 문자라고 생각했습니다.

그래서 난 단지 전달 된 문자열에 하나의 "\"를 삭제해야합니다

contentTD = "ABC\userTestName"