我想从字符串中获取值117。但未能......
当我执行以下操作时,
$(this)
我得到" String"像这样
"[Node: <span class='nodeId'>117</span>] <br>bla bla (bla/6)<br>Value: n.a."
进一步得出以下内容,
$(this).filter('.nodeId').html()
我收到错误......
Uncaught Error: Syntax error, unrecognized expression: [Node: <span class='nodeId'>117</span>] <br>bla bla (bla/6)<br>Value: n.a.
请求的片段:
var onDeviceMarkerClick = function() {
var currentNodeIdVal = null;
var marker = this;
var markerLat = marker.getPosition().lat();
var markerLng = marker.getPosition().lng();
var checkStreetView = new google.maps.LatLng(markerLat,markerLng);
var svClient = new google.maps.StreetViewService();
var checkaround = 50;
svClient.getPanoramaByLocation(checkStreetView, checkaround, function (nearest) {
if (nearest !== null){
var nodeIdString = marker.title;
var checkThisVal = $(nodeIdString).filter('.nodeId').html();
console.log(checkThisVal); // Here I got the error
//More to go
任何?
答案 0 :(得分:2)
如果HTML的格式不正确(例如,不是以<>
元素开头),则需要先将其包装起来(例如在虚拟div
元素中)
JSFiddle:http://jsfiddle.net/TrueBlueAussie/vme0us9s/1/
var nodeIdString = marker.title;
// Create a new DIV and insert the content
var $div = $('<div>').html(nodeIdString);
var checkThisVal = $div.find('.nodeId').text();
alert(checkThisVal); // Alerts 117
答案 1 :(得分:1)
你可以通过
来做到这一点var value = $('.nodeId').text();
编辑: 您可以通过以下方式执行此操作:
var string = "<div>blah <span class='wew'>blah</span> sdf</div>";
console.log($(string).find('.wew').text());
请注意,字符串应该是有效的html元素。