Jquery得到类" nodeId"值

时间:2014-10-23 09:36:51

标签: javascript jquery

我想从字符串中获取值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

任何?

2 个答案:

答案 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元素。